#/*X d='XXXXXXX*/include /*XXXXXXXXXXXXXXXXX*/#include /*XXXXXXXXXXXXXXXXXXXXXX*/#include /*XXXXXXXXXXXXXXXXXXXXXXXXX*/#include /*XX'.gsub(/\*[^*]*[*]/,'');i='*/#include /*XXX';x||=[];x+= [d];s=x.size;i=%!X*/#include typedef int/**/_; _ D,o,R,O,T,H,Y[2][2],x,y,w,h[2][2]; typedef/*X*/double f;png_image/*XXXXXXXXX*/I;png_bytep z[2];_/*XXXXXX*/L( ){return(png_image_finish_read(&I, NULL,*z,0,NULL));}f p,q,P,Q,a,b,c,d,i,j,k,m,n,e,E;_/* X*/M(char*v){return png_image_begin_read_from_file(& I,v);}void l(char*v ){if(M(v)){H=I.height;for(w=I. width;o<2;){z[o++]= (png_bytep)malloc(D=w*H*4);} T=*z&&z[1];I.format =/* */PNG_FORMAT_RGBA;T=T&&L( )?-1:1;}}_/**/g(_( u), char*v){return(printf(u ?u-1?"Error wri"/* X X*/ "ting\x20%s\n":"Error " "reading\x20%s\n" :"%s " "\40"/*XX X */"\40" "\n",v ));}void/**/t(f (u),f(v)) {m=a*u-b*v+ c;n=b*u+ a*v+d;}_/**/s(f u, f (v),f(U),f( V)){u-=U ;v-=V;p=i*U+j* V+k;return( u*u+v*v)< p*p;}f/**/r(f v){return( (f)rand()/ RAND_MAX)*v* 22/7;}_/**/main(_(u), char**v){I. version =PNG_IMAGE_VERSION/* */;if(u==4){l (v[T =1]);if(T<0){memcpy (z[1],*z,D) ;srand(time(NULL)); p=r(29)+20 ; p/=w>H?w:H;a=cos(q= r(1))*p;b=p *sin(q);c=r(1);d=r( 1);i=cos(q =r(2));j=sin(q);for (k=0;O<4;++ O){t(O%2*w,(O&2)/2* H);p=i*m+j* n +k;e=O<1||e>p?p:e;E= O<1||E1;if(D){e=ceil(m) ;E=ceil (n);D=s(m,n,floor(m),E)||s (m ,n,e,floor(n))||s(m ,n,e,E) ||s(m,n,floor(m),floor(n) ); }else{p=floor(m);P=m- p;Q=n- (q=floor(n));if(P+Q<0.25 || P+Q>1.75||Q-P>.75||P-Q> .75){P =round(m);Q=round(n);T = (_) (P +Q)&1;e=fabs(n-Q); D=m-P> e||m-P<-e;for(O= 0;O <2;D^=R> h[O++][T]/2){R=fmod(Y [O][ T]+P -O*Q,h[O ][T ]);R += R<+0?h[O][T]:0;}}else{D= (_)( p+q )&1;} }* (_ * )(z[D]+o*4)=0;}}T=-1;for(o=0 ;T<0 && o< 02; ++o)T=png_image_write_to_file (&I, v[o +2] ,0,z[o],0, NULL)?T:o+2;}}/*XXX XXX XX X!; puts(s!=1? "":x.sort* "") ;i ='X '+%{XXX*/ return /* XX X*/ T<0?0:g (T> 2? 2:T,v[ T] ) ;}