#include<bits/stdc++.h>
using namespace std;
struct node
{
int l,r;
}a[1000005];
int n,ans=0;
void dfs(int i,int cnt)
{
cnt++;
if(a[i].l==0&&a[i].r==0)
{
ans=max(cnt,ans);
return;
}
else
{
if(a[i].l!=0)
dfs(i+1,cnt);
if(a[i].r!=0)
dfs(i+1,cnt);
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].l>>a[i].r;
dfs(1,0);
cout<<ans;
}