#include #include #include using namespace std; int head[25000]; int visit[25000]; int dis[25000]; int in[25000]; const int inf=1<<30; int ne; int n,m; struct edge { int from,to,next; int weight; }P[250000]; void insert(int x,int y,int weight) { P[ne].from=x;P[ne].to=y;P[ne].weight=weight;P[ne].next=head[x];head[x]=ne++; } void init() { int i; for(i=0;i<=n;i++) dis[i]=-inf; } bool bellman() { int i,j; init(); for(i=0;i<=n+1;i++) { for(j=1;j>op; scanf("%d",&weight); if(op[0]=='g') { insert(si-1,ni+si,weight+1); insert(-1,si-1,0); insert(-1,si+ni,0); } else { insert(ni+si,si-1,1-weight); insert(-1,si-1,0); insert(-1,si+ni,0); } } if(bellman()) printf("lamentable kingdom\n"); else printf("successful conspiracy\n"); } return 0; }