#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdbool.h>
#define STRSWITCH(s) do{\
bool flag_=false;\
char*switchstr_=(s);\
int switchstrlen_=strlen(switchstr_);{{
#define STRCASE(s) \
}}{\
char*casestr_=(s);\
int casestrlen_=strlen(casestr_);\
flag_=flag_||switchstrlen_==casestrlen_&&!strncmp(switchstr_,casestr_,casestrlen_);\
if(flag_){
#define STRSWITCHDEFAULT }}{{
#define ENDSTRSWITCH }}}while(0);
void test(char *str)
{
printf("case \"%s\":\n", str
); STRSWITCH (str)
STRCASE("hui")
STRCASE("pizda")
STRCASE("G-goorda")
STRSWITCHDEFAULT
ENDSTRSWITCH
}
int main(void)
{
test("govno");
test("hui");
test("pizda");
test("G-goorda");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3RkYm9vbC5oPgoKI2RlZmluZSBTVFJTV0lUQ0gocykgZG97XAogICAgYm9vbCBmbGFnXz1mYWxzZTtcCiAgICBjaGFyKnN3aXRjaHN0cl89KHMpO1wKICAgIGludCBzd2l0Y2hzdHJsZW5fPXN0cmxlbihzd2l0Y2hzdHJfKTt7ewoKI2RlZmluZSBTVFJDQVNFKHMpIFwKICAgIH19e1wKICAgICAgICBjaGFyKmNhc2VzdHJfPShzKTtcCiAgICAgICAgaW50IGNhc2VzdHJsZW5fPXN0cmxlbihjYXNlc3RyXyk7XAogICAgICAgIGZsYWdfPWZsYWdffHxzd2l0Y2hzdHJsZW5fPT1jYXNlc3RybGVuXyYmIXN0cm5jbXAoc3dpdGNoc3RyXyxjYXNlc3RyXyxjYXNlc3RybGVuXyk7XAogICAgICAgIGlmKGZsYWdfKXsKCiNkZWZpbmUgU1RSU1dJVENIREVGQVVMVCB9fXt7CiNkZWZpbmUgRU5EU1RSU1dJVENIIH19fXdoaWxlKDApOwoKdm9pZCB0ZXN0KGNoYXIgKnN0cikKewogICAgcHJpbnRmKCJjYXNlIFwiJXNcIjpcbiIsIHN0cik7CiAgICBTVFJTV0lUQ0ggKHN0cikKICAgIFNUUkNBU0UoImh1aSIpCiAgICAgICAgcHV0cygiaHVpIik7CiAgICBTVFJDQVNFKCJwaXpkYSIpCiAgICAgICAgcHV0cygicGl6ZGEiKTsgYnJlYWs7CiAgICBTVFJDQVNFKCJHLWdvb3JkYSIpCiAgICAgICAgcHV0cygiRy1nb29yZGEiKTsKICAgIFNUUlNXSVRDSERFRkFVTFQKICAgICAgICBwdXRzKCJkZWZhdWx0Iik7CiAgICBFTkRTVFJTV0lUQ0gKfQoKaW50IG1haW4odm9pZCkKewogICAgdGVzdCgiZ292bm8iKTsKICAgIHRlc3QoImh1aSIpOwogICAgdGVzdCgicGl6ZGEiKTsKICAgIHRlc3QoIkctZ29vcmRhIik7CiAgICByZXR1cm4gMDsKfQ==