#include <stdio.h>
char *z[] = {
"Normal","Fighting","Flying","Poison","Ground","Rock","Bug","Ghost",
"Steel","Fire","Water","Grass","Electric","Psychic","Ice","Dragon","Dark","Fairy"
};
*y
[]={"8(;","i56n9(q@wyD","j8o;t?","678:)tz","#ln9qr>u","4k7o;rw","456:;<tvyD","!pvC","n;<=?wz","8oq<=twB","mnr=>B","56mn9;<s>B","k%s>?B","jl;@1","km;<=tAx",";x2","4pvCD","j6;<xy"};float f
(int**s
){int k
[3]={},i
=54,j
;float f
=1;for(;i
--;s
[i
%3]&&!strcmp(z
[i
/3],s
[i
%3])?k
[i
%3]=i
/3:0);for(char*t
=y
[*k
];i
=*t
-33,*t
++;)for(j
=0;++j
<3;)f
*=i
%18-k
[j
]?1:i
/18/2.
;return f
;}
char *tests[]= {
"Ground", "Flying", NULL,
"Normal", "Rock", "Steel",
"Normal", "Rock", NULL,
"Normal", "Normal", NULL,
"Water", "Fire", NULL,
"Flying", "Fighting", "Bug",
"Normal", "Ice", "Ground",
"Fire", "Water", "Rock",
"Fire", "Rock", NULL,
"Water", "Ice", "Ghost",
"Water", "Ghost", NULL,
"Dragon", "Dragon", "Steel",
"Dragon", "Dragon", NULL,
NULL
};
int main(int argc,char **argv) {
if(argc>2) {
char *s[3]={argv[1], argv[2], argv[3]};
} else {
for(int i=0;tests[i];i+=3) {
char *s[]={tests[i], tests[i+1], tests[i+2]};
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpjaGFyICp6W10gPSB7IAogICJOb3JtYWwiLCJGaWdodGluZyIsIkZseWluZyIsIlBvaXNvbiIsIkdyb3VuZCIsIlJvY2siLCJCdWciLCJHaG9zdCIsCiAgIlN0ZWVsIiwiRmlyZSIsIldhdGVyIiwiR3Jhc3MiLCJFbGVjdHJpYyIsIlBzeWNoaWMiLCJJY2UiLCJEcmFnb24iLCJEYXJrIiwiRmFpcnkiCn07CgoqeVtdPXsiOCg7IiwiaTU2bjkocUB3eUQiLCJqOG87dD8iLCI2Nzg6KXR6IiwiI2xuOXFyPnUiLCI0azdvO3J3IiwiNDU2Ojs8dHZ5RCIsIiFwdkMiLCJuOzw9P3d6IiwiOG9xPD10d0IiLCJtbnI9PkIiLCI1Nm1uOTs8cz5CIiwiayVzPj9CIiwiamw7QDEiLCJrbTs8PXRBeCIsIjt4MiIsIjRwdkNEIiwiajY7PHh5In07ZmxvYXQgZihpbnQqKnMpe2ludCBrWzNdPXt9LGk9NTQsajtmbG9hdCBmPTE7Zm9yKDtpLS07c1tpJTNdJiYhc3RyY21wKHpbaS8zXSxzW2klM10pP2tbaSUzXT1pLzM6MCk7Zm9yKGNoYXIqdD15WyprXTtpPSp0LTMzLCp0Kys7KWZvcihqPTA7KytqPDM7KWYqPWklMTgta1tqXT8xOmkvMTgvMi47cmV0dXJuIGY7fQoKY2hhciAqdGVzdHNbXT0gewogICJHcm91bmQiLCAiRmx5aW5nIiwgTlVMTCwKICAiTm9ybWFsIiwgIlJvY2siLCAiU3RlZWwiLAogICJOb3JtYWwiLCAiUm9jayIsIE5VTEwsCiAgIk5vcm1hbCIsICJOb3JtYWwiLCBOVUxMLAogICJXYXRlciIsICJGaXJlIiwgTlVMTCwKICAiRmx5aW5nIiwgIkZpZ2h0aW5nIiwgIkJ1ZyIsCiAgIk5vcm1hbCIsICJJY2UiLCAiR3JvdW5kIiwKICAiRmlyZSIsICJXYXRlciIsICJSb2NrIiwKICAiRmlyZSIsICJSb2NrIiwgTlVMTCwKICAiV2F0ZXIiLCAiSWNlIiwgIkdob3N0IiwKICAiV2F0ZXIiLCAiR2hvc3QiLCBOVUxMLAogICJEcmFnb24iLCAiRHJhZ29uIiwgIlN0ZWVsIiwKICAiRHJhZ29uIiwgIkRyYWdvbiIsIE5VTEwsCiAgTlVMTAp9OwoKCmludCBtYWluKGludCBhcmdjLGNoYXIgKiphcmd2KSB7CiAgaWYoYXJnYz4yKSB7CiAgICBjaGFyICpzWzNdPXthcmd2WzFdLCBhcmd2WzJdLCBhcmd2WzNdfTsKICAgIHByaW50ZigiJS4yZlxuIiwgZihzKSk7CiAgfSBlbHNlIHsKICAgIGZvcihpbnQgaT0wO3Rlc3RzW2ldO2krPTMpIHsKICAgICAgY2hhciAqc1tdPXt0ZXN0c1tpXSwgdGVzdHNbaSsxXSwgdGVzdHNbaSsyXX07CiAgICAgIHByaW50ZigiJS4yZlxuIiwgZihzKSk7CiAgICB9CiAgfQp9