n=int(input()) M=200001 par=[-1]*M def root(a): if par[a]<0: return a return root(par[a]) def same(a, b): return root(a)==root(b) def merge(a,b): if same(a,b):return a=root(a) b=root(b) if par[a]>par[b]:a,b=b,a par[a]+=par[b] par[b]=a def sz(a): return -par[root(a)] a=[list(map(lambda x:int(x)-1, input().split())) for i in range(n)] deg = [0]*M V=set() for x,y in a: merge(x,y) V.add(x) V.add(y) deg[x]-=1 deg[y]+=1 if sz(a[0][0]) == len(V): st=set() for i in range(M): st.add(deg[i]) if len(st) > 2: print(1) else:print(len(V)) else: print(0)