#include const int MAXQ = 105; const int MAXN = 11; const int MAXC = 105; struct Question { int T[MAXN]; int Hist[MAXC]; int Dokladnie,Zgadnij; }; int Stan[MAXN]; int nQ,N,C; Question Q[MAXQ]; int rek(int done) { int q,i; for(q=0;qN-done || Q[q].Dokladnie<0 || Q[q].Dokladnie>N-done) return 0; } if(done==N) return 1; for(i=0;i 0) Q[q].Zgadnij--; } Stan[done]=i; if(rek(done+1)) return 1; for(q=0;q 0) Q[q].Zgadnij++; } } return 0; } void Read() { int q,i,a,b; scanf("%d%d%d",&N,&C,&nQ); for(q=0;q