#include
using namespace std;
#define MAXSIZE 100
typedef char TElemType;
typedef TElemType SqBiTree[MAXSIZE];
SqBiTree bt;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild, *rchild;
}BiTNode;
typedef BiTNode *BiTree;
void InOrderTraverse(BiTree T)
{
if(T)
{
InOrderTraverse(T->lchild);
cout<data<<endl;
InOrderTraverse(T->rchild);
}
}
int Depth(BiTree T)
{
int m,n;
if(T==NULL)
return 0;
else
{
m=Depth(T->lchild);
n=Depth(T->rchild);
return (m>n?m:n)+1;
}
}
void CreateBiTree(BiTree &T)
{
char ch;
cin>>ch;
if(ch=='#')
T=0;
else
{
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
int main()
{
BiTree T;
CreateBiTree(T);
InOrderTraverse(T);
cout<<Depth(T);
return 0;
}