#include struct node { int kt; int val; }; struct node h[1010]; int hn; int swap(int x,int y) { int p; p=h[x].kt; h[x].kt=h[y].kt; h[y].kt=p; p=h[x].val; h[x].val=h[y].val; h[y].val=p; return 0; } int ins(int kt,int val) { int i; h[++hn].kt=kt; h[hn].val=val; i=hn; while ((i>1)&&(h[i].val>h[i/2].val)) { swap(i,i/2); i/=2; } return 0; } int pop(int * ktory) { int ret,i,max; ret=h[1].kt; swap(1,hn); hn--; i=1; while (1) { if (i*2>hn) break; max=i; if (h[2*i].val>h[max].val) max=2*i; if (i*2+1<=hn) { if (h[2*i+1].val>h[max].val) max=2*i+1; } if (max==i) break; swap(i,max); i=max; } return ret; } int main() { int ii,nn; int i,j,n,b,g,x; short int s[1010000]; int naj[1010000]; char in[1010000]; int kedy[1010000]; int bays[1010]; scanf("%d",&nn); for (ii=0;ii=0;i--) { naj[i]=kedy[s[i]]; kedy[s[i]]=i; } for (i=0;i