#include <stdarg.h>
typedef char c;int vsp(c*b,c*f,...){int p,i,n,r;va_list v;c x[9]="%csuxodi",*o,
*h,s[99];unsigned d;va_start(v,f);h=b;do{if(*f^'%')*b++=*f;else{p=i=0;x[8]=*++f
;while(x[i++]!=*f);if(i<3)*b++=(i==1)?37:va_arg(v,c);else if(i<4){o=va_arg(v,c*
);while(*b=*o++)b++;}else if(i<9){n=va_arg(v,int);r=i==5?16:i==6?8:10;if(i==7||
i==8)if(n<0)*b++='-',n=-n;d=n;while(d)s[p++]="0123456789abcdef"[d%r],d/=r;while
(*b++=s[--p],p);}}}while(*f++);va_end(v);return b-h-1;}

整理、ってことで仕事に行きます。