graph g;
int@n,s[n],a[1d5],b[],e=0;
rep(i,n){
	int@m;
	rep(m){
		int@c--;
		a[e]=i;
		b[e]=c;
		++e;
	}
}
g.setDirectEdge(n,e,a,b);
int z=g.scc(s)-1;
if(s[0]==0){
	int v[z]{};
	rep(j,e){
		if(s[a[j]]==s[b[j]]-1){
			if(!v[s[a[j]]]){
				v[s[a[j]]]=1;
				--z;
			}
		}
	}
}
wt(z?"No":"Yes",z);