#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
const int N=55;
string s;
int tot,idx,t,cnt;
struct NODE
{
char dat;
int l,r;
}tr[N];
int build()
{
if(s[idx]==',')
{
idx++;
return 0;
}
tr[++tot].dat=s[idx++];//0代表结点为空所以tot要从1开始存
int now=tot;
tr[now].l=build();
tr[now].r=build();
return now;
}
void dfs(int root)
{
if(root)
{
if(tr[root].l==0&&tr[root].r==0)
cnt++;
dfs(tr[root].l);
dfs(tr[root].r);
}
}
int main()
{
while(cin>>s)
{
tot=idx=cnt=0;
int root=build();
dfs(root);
cout<<cnt<<endl;
}
return 0;
}