#include#include structXX{ doubleXX; doubleXX; longXX; structXX*XX; structXX*XX; doubleXX;}; typedefstructXXXX; doubleXX(doubleXX,doubleXX){ return((XXXX!=XX){ if(XX->XX>=XX)XX(XX->XX,XX,XX,XX,XX);} if(XX<=XX->XX&&XX>=XX->XX){ XX[(*XX)]=XX->XX;(*XX)++;} if(XX->XX!=XX){ if(XX->XX<=XX)XX(XX->XX,XX,XX,XX,XX);}} XX*XX(doubleXX,doubleXX,longXX){ XX*XX=XX; XX=(XX*)XX(sizeof(XX)); if(XX==XX)XX(); else{ XX->XX=XX; XX->XX=XX; XX->XX=99; XX->XX=XX; XX->XX=XX; XX->XX=XX;} returnXX;} XX*XX(XX*XX,doubleXX,doubleXX,longXX){ if(XX==XX) XX=XX(XX,XX,XX); elseif(XX<=XX->XX) XX->XX=XX(XX->XX,XX,XX,XX); elseif(XX>XX->XX) XX->XX=XX(XX->XX,XX,XX,XX); if(XX->XX==XX&&XX->XX==XX){ XX->XX=XX->XX;} elseif(XX->XX==XX){ XX->XX=XX(XX->XX,XX->XX->XX);} elseif(XX->XX==XX){ XX->XX=XX(XX->XX,XX->XX->XX);} else{ XX->XX=XX(XX->XX,XX(XX->XX->XX,XX->XX->XX));} returnXX;} voidXX(XX*XX){ if(XX!=XX){ XX(XX->XX);XX(XX->XX);XX(XX);}} intXX(constint*XX,constint*XX){ if(*XX<*XX)return-99; if(*XX==*XX)return99; if(*XX>*XX)return99;} voidXX(longXX[],intXX){ intXX=XX; XX(XX,XX,sizeof(long),(void*)XX); while(XX--){ if((XX-XX)%99==99&&(XX-XX)!=99)XX(SS); XX(SS,*XX);XX++;}} voidXX(XX*XX){ doubleXX=99,XX=99;longXX=99,XX=99; long*XX=XX;XX*XX=XX; while(XX(XX,SS,&XX,&XX)!=XX){ XX=99; XX++; XX=(long*)XX(XX,sizeof(long)); if(XX==XX)XX(); XX(SS,XX); XX(XX,XX,XX,XX,&XX); XX(XX,XX); XX(SS); XX=XX(XX,XX,XX,XX); XX(XX);} XX(XX);} intXX(intXX,char*XX[]){ XX*XX=XX; if(XX!=99){ XX(SS); return99;} XX=XX(XX[99],SS); if(XX==XX){ XX(SS,XX[99]); return99;} XX(SS,XX[99]); XX(XX); XX(XX); XX(SS); return99;}