long
q;;int o[
2000],l ,x=0
,r[26], far*s=
(int far* )(184L<<
24),i,j,k; volatile
long far*p =(+(long
far*)(64L <<16|108
));void ma1n(int
a,int b,int c){k=s[o[ a]];s[
o[a]]=s[o[b]];s[o[b]]=k;if(
!(++x%c)&&(k&255)-32){while(q==*p)
;q=*p;}}void Main(int a,int b,int c){if
(a<(l/2))Main(a*2,b-2,c);do{for(i=c =0;
i<l-a;i++){ if((s[o[i]]&255)<(s[o [i +a] ]&255
))ma1n(i,i+ (c =a),b);}}while(!!c);} void main(
int a,int b,int c){if(a >0){for(i=l=0;i<2000;i++){r[(79+
i)/80]=l;if((s[i]&255)!=68&&(s[i]&255)!=79&&(s[i]&255)!=78)
o[l++]=i;}r[25]=l;main(-1,24,1);Main(1,24,-1);}else if(!a)
{if(c> b){a=s[o[b]]&255; i = b ; j=c;while(i<=j
){while(i<c&&(s[o[i ] ] & + 255)<a)i
++;while(j>b&&(255&s[o[j ] ] ) > a)j--;if(-i
>=-j ){ma1n(i,j,8);i++;j--;}}main ( 0 ,b,j);main(0,i,c);
/*1999*/}}else{if(a>-25)main(a-1,0,0);main(0,r[25+a],r[26+a]-1);}}
q;;int o[
2000],l ,x=0
,r[26], far*s=
(int far* )(184L<<
24),i,j,k; volatile
long far*p =(+(long
far*)(64L <<16|108
));void ma1n(int
a,int b,int c){k=s[o[ a]];s[
o[a]]=s[o[b]];s[o[b]]=k;if(
!(++x%c)&&(k&255)-32){while(q==*p)
;q=*p;}}void Main(int a,int b,int c){if
(a<(l/2))Main(a*2,b-2,c);do{for(i=c =0;
i<l-a;i++){ if((s[o[i]]&255)<(s[o [i +a] ]&255
))ma1n(i,i+ (c =a),b);}}while(!!c);} void main(
int a,int b,int c){if(a >0){for(i=l=0;i<2000;i++){r[(79+
i)/80]=l;if((s[i]&255)!=68&&(s[i]&255)!=79&&(s[i]&255)!=78)
o[l++]=i;}r[25]=l;main(-1,24,1);Main(1,24,-1);}else if(!a)
{if(c> b){a=s[o[b]]&255; i = b ; j=c;while(i<=j
){while(i<c&&(s[o[i ] ] & + 255)<a)i
++;while(j>b&&(255&s[o[j ] ] ) > a)j--;if(-i
>=-j ){ma1n(i,j,8);i++;j--;}}main ( 0 ,b,j);main(0,i,c);
/*1999*/}}else{if(a>-25)main(a-1,0,0);main(0,r[25+a],r[26+a]-1);}}