C言語版13行 orz

#include <stdio.h> /* Cdemodekitayo,ve-xtuhaxtuha kyawoxyaxa ltaltu */
int c,d,e,i,j,k,f,g;char*s="aiueolxwytksnhmrgzdbpv",*h="あいうえおぁぃぅぇぉぁ"
"ぃぅぇぉわゐうゑをやいゆえよたちつてとかきくけこさしすせそなにぬねのはひふへ"
"ほまみむめもらりるれろがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽゃぃ"
"ゅぇょっヴヴ";void P(int c){if(c=='n')printf("ん");else if(c>=0)putchar(c);}
void p(int i,int j){for(i=i*10+j*2,j=2;j--;)putchar(h[i++]);}int main(){for(c=
getchar();;){for(i=22;i--;)if(f=s[i]==c)break;if(f){f=0;if(g==7&&i==2){p(18,0);
}else if(g==4&&k==21){p(18,1);p(17,i);}else if(i<5){if(g==7){P(e);p(5,i);}else
if(g==5){p(1,i);}else if(g==3&&j==21){p(18,1);p(1,i);}else{if(g==4||g==6){if(g
==4)p(k-4,1);p(17,i);}else{p(g?j-4:0,i);}}}else if((g==5||g==3)&&i==8)f=g+1;
else if(g==5&&i==9)f=7;else{if(g==4||g>5)P(e);if(g)P(d);if(i<7)f=5;else if(i<9)
f=1;else f=3;}}else{if(g==4||g==6)P(e);if(g)P(d);P(c);}g=f;if(c<0)break;e=d;d=c
;c=getchar();k=j;j=i;}return 0;}