#include <stdio.h>
#include <stdlib.h>
typedef struct TNode
{
char data;
struct TNode* lchild;
struct TNode* rchild;
}TNode;
TNode* creat()
{
char x;
TNode* pT;
scanf("%c", &x);
if (x == '#')
pT = NULL;
else
{
pT = (TNode*)malloc(sizeof(TNode));
pT->data = x;
pT->lchild = creat();
pT->rchild = creat();
}
return pT;
}
int depth(TNode* pT)
{
int l = 1, r = 1;
if (pT == NULL)
return 0;
else
{
l = depth(pT->lchild);
r = depth(pT->rchild);
return (l > r) ? (l + 1) : (r + 1);
}
}
int main()
{
int d;
TNode* pT;
pT = creat();
d = depth(pT);
printf("%d", d);
return 0;
}