//NiceDuck
#include "bits/stdc++.h"
typedef long long ll;
using namespace std;
#define FILE "000"
#define foru(i,a,b) for(int i=(int)(a); i<=(int)(b); ++i)
#define ford(i,a,b) for(int i=(int)(a); i>=(int)(b); --i)
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);
#define pb push_back
#define fi first
#define se second
#define pii pair<int,int>
#define pil pair<int,ll>
#define pli pair<ll,int>
#define MOD 1000000007
#define el "\n"
#define MAX 204
int n;
string s[MAX];
vector<int> adj[MAX];
vector<string> name;
void pre(string &str)
{
string tmp;
foru(i,0,str.size()-1)
{
if(isalpha(str[i]) && isupper(str[i])) str[i]=tolower(str[i]);
if(i==str.size()-1)
{
tmp+=str[i];
name.pb(tmp);
continue;
}
if(str[i]==' ')
{
if(tmp!="reposted") name.pb(tmp);
tmp="";
}
else tmp+=str[i];
}
}
void xuli(string str)
{
int u,v;
string tmp="";
foru(i,0,str.size()-1)
{
if(i==str.size()-1)
{
tmp+=str[i];
u=lower_bound(name.begin(),name.end(),tmp)-name.begin()+1;
continue;
}
if(str[i]==' ')
{
if(tmp!="reposted")
{
v=lower_bound(name.begin(),name.end(),tmp)-name.begin()+1;
}
tmp="";
}
else tmp+=str[i];
}
adj[u].pb(v);
}
int ans=0;
int dist[MAX];
void bfs(int u)
{
queue<int> q;
q.push(u);
memset(dist,-1,sizeof(dist));
dist[u]=1;
while(!q.empty())
{
int v=q.front(); q.pop();
for(int k:adj[v])
{
if(dist[k]==-1)
{
dist[k]=dist[v]+1;
ans=max(ans,dist[k]);
q.push(k);
}
}
}
}
void calc()
{
sort(name.begin(),name.end());
name.erase(unique(name.begin(),name.end()),name.end());
foru(i,1,n) xuli(s[i]);
int u=lower_bound(name.begin(),name.end(),"polycarp")-name.begin()+1;
bfs(u);
cout<<ans;
}
int main()
{
fastio
#ifndef ONLINE_JUDGE
freopen(FILE ".inp","r",stdin);
freopen(FILE ".out","w",stdout);
#endif // ONLINE_JUDGE
cin>>n; cin.ignore();
foru(i,1,n)
{
getline(cin,s[i]);
pre(s[i]);
}
calc();
return 0;
}
Ly9OaWNlRHVjawojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiMDAwIgojZGVmaW5lIGZvcnUoaSxhLGIpIGZvcihpbnQgaT0oaW50KShhKTsgaTw9KGludCkoYik7ICsraSkKI2RlZmluZSBmb3JkKGksYSxiKSBmb3IoaW50IGk9KGludCkoYSk7IGk+PShpbnQpKGIpOyAtLWkpCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGlsIHBhaXI8aW50LGxsPgojZGVmaW5lIHBsaSBwYWlyPGxsLGludD4KI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBNQVggMjA0CgppbnQgbjsKc3RyaW5nIHNbTUFYXTsKdmVjdG9yPGludD4gYWRqW01BWF07CnZlY3RvcjxzdHJpbmc+IG5hbWU7Cgp2b2lkIHByZShzdHJpbmcgJnN0cikKewogICAgc3RyaW5nIHRtcDsKICAgIGZvcnUoaSwwLHN0ci5zaXplKCktMSkKICAgIHsKICAgICAgICBpZihpc2FscGhhKHN0cltpXSkgJiYgaXN1cHBlcihzdHJbaV0pKSBzdHJbaV09dG9sb3dlcihzdHJbaV0pOwogICAgICAgIGlmKGk9PXN0ci5zaXplKCktMSkgCiAgICAgICAgewogICAgICAgICAgICB0bXArPXN0cltpXTsKICAgICAgICAgICAgbmFtZS5wYih0bXApOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoc3RyW2ldPT0nICcpCiAgICAgICAgewogICAgICAgICAgICBpZih0bXAhPSJyZXBvc3RlZCIpIG5hbWUucGIodG1wKTsKICAgICAgICAgICAgdG1wPSIiOwogICAgICAgIH0KICAgICAgICBlbHNlIHRtcCs9c3RyW2ldOwogICAgfQp9Cgp2b2lkIHh1bGkoc3RyaW5nIHN0cikKewogICAgaW50IHUsdjsKICAgIHN0cmluZyB0bXA9IiI7CiAgICBmb3J1KGksMCxzdHIuc2l6ZSgpLTEpCiAgICB7CiAgICAgICAgaWYoaT09c3RyLnNpemUoKS0xKSAKICAgICAgICB7CiAgICAgICAgICAgIHRtcCs9c3RyW2ldOwogICAgICAgICAgICB1PWxvd2VyX2JvdW5kKG5hbWUuYmVnaW4oKSxuYW1lLmVuZCgpLHRtcCktbmFtZS5iZWdpbigpKzE7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZihzdHJbaV09PScgJykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHRtcCE9InJlcG9zdGVkIikgCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHY9bG93ZXJfYm91bmQobmFtZS5iZWdpbigpLG5hbWUuZW5kKCksdG1wKS1uYW1lLmJlZ2luKCkrMTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0bXA9IiI7CiAgICAgICAgfQogICAgICAgIGVsc2UgdG1wKz1zdHJbaV07CiAgICB9CiAgICBhZGpbdV0ucGIodik7Cn0KCmludCBhbnM9MDsKaW50IGRpc3RbTUFYXTsKCnZvaWQgYmZzKGludCB1KQp7CiAgICBxdWV1ZTxpbnQ+IHE7CiAgICBxLnB1c2godSk7CiAgICBtZW1zZXQoZGlzdCwtMSxzaXplb2YoZGlzdCkpOwogICAgZGlzdFt1XT0xOwogICAgd2hpbGUoIXEuZW1wdHkoKSkKICAgIHsKICAgICAgICBpbnQgdj1xLmZyb250KCk7IHEucG9wKCk7CiAgICAgICAgZm9yKGludCBrOmFkalt2XSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGRpc3Rba109PS0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBkaXN0W2tdPWRpc3Rbdl0rMTsKICAgICAgICAgICAgICAgIGFucz1tYXgoYW5zLGRpc3Rba10pOwogICAgICAgICAgICAgICAgcS5wdXNoKGspOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGNhbGMoKQp7CiAgICBzb3J0KG5hbWUuYmVnaW4oKSxuYW1lLmVuZCgpKTsKICAgIG5hbWUuZXJhc2UodW5pcXVlKG5hbWUuYmVnaW4oKSxuYW1lLmVuZCgpKSxuYW1lLmVuZCgpKTsKICAgIGZvcnUoaSwxLG4pIHh1bGkoc1tpXSk7CiAgICBpbnQgdT1sb3dlcl9ib3VuZChuYW1lLmJlZ2luKCksbmFtZS5lbmQoKSwicG9seWNhcnAiKS1uYW1lLmJlZ2luKCkrMTsKICAgIGJmcyh1KTsKICAgIGNvdXQ8PGFuczsKfQoKaW50IG1haW4oKQp7CiAgICBmYXN0aW8KICAgICNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKEZJTEUgIi5pbnAiLCJyIixzdGRpbik7CiAgICBmcmVvcGVuKEZJTEUgIi5vdXQiLCJ3IixzdGRvdXQpOwogICAgI2VuZGlmIC8vIE9OTElORV9KVURHRQogICAgCiAgICBjaW4+Pm47IGNpbi5pZ25vcmUoKTsKICAgIGZvcnUoaSwxLG4pCiAgICB7CiAgICAgICAgZ2V0bGluZShjaW4sc1tpXSk7CiAgICAgICAgcHJlKHNbaV0pOwogICAgfQogICAgY2FsYygpOwogICAgCiAgICByZXR1cm4gMDsKfQ==