#include using namespace std; #define PB push_back #define ZERO (1e-10) #define INF (1<<29) #define CL(A,I) (memset(A,I,sizeof(A))) #define DEB printf("DEB!"\n); #define D(X) cout << " "<<#X<<": "<B&&A-ZERO pll; typedef vector vi; typedef pair ii; typedef vector vii; #define IN(n) int n; scanf("%d", &(n)); #define FOR(i, m, n) for (int i(m); i6)return 0; if(~p&&C[u]==E[u])FF(4)if(u^j&&g[j][p]){ g[j][p]=g[u][p]=0; if(dfs(j,l+1,p))return 1; g[j][p]=g[u][p]=1; } F(MX)if(g[u][i])FF(4)if(u^j&&g[j][i]){ //printf("%d → %d → %d\n",u,i,j); g[j][i]=g[u][i]=0; if(dfs(j,l+1,i))return 1; g[j][i]=g[u][i]=1; } --C[u]; return 0; } int main(){ while(~scanf("%d",&N)){ CL(C,0),CL(g,X=0),CL(E,0); F(N)scanf("%s",s),++g[CC(s[1])][VL(*s)],++E[CC(s[1])]; F(4&&!X)X|=dfs(i,0,-1); puts(X?"YES":"NO"); } return 0; }