#include <stdio.h>
#include <string.h>
#define FBGSTR_MAX 32
typedef struct fbgst_ {
int num;
char str[FBGSTR_MAX];
} fbgst;
typedef union fbg_ {
int num;
fbgst st;
} fbg;
fbg fizz(fbg n);
fbg buzz(fbg n);
fbg gizz(fbg n);
fbg fbgfunc(fbg n,int m,char *str);
void fbg_p(fbg o);
int main(){
fbg_p( buzz(fizz((fbg)1)) );
fbg_p( buzz(fizz((fbg)3)) );
fbg_p( buzz(fizz((fbg)5)) );
fbg_p( buzz(fizz((fbg)15)) );
fbg_p( gizz(buzz(fizz((fbg)7))) );
fbg_p( gizz(buzz(fizz((fbg)21))) );
fbg_p( gizz(buzz(fizz((fbg)35))) );
fbg_p( gizz(buzz(fizz((fbg)105))) );
fbg_p( buzz(gizz(fizz((fbg)105))) );
return 0;
}
fbg fizz(fbg n){
return fbgfunc(n,3,"Fizz");
}
fbg buzz(fbg n){
return fbgfunc(n,5,"Bizz");
}
fbg gizz(fbg n){
return fbgfunc(n,7,"Gizz");
}
fbg fbgfunc(fbg n,int m,char *str){
if(n.st.num%m==0){
}
return n;
}
void fbg_p(fbg o){
if(o.st.str[0] == 0){
}else{
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCiNkZWZpbmUgRkJHU1RSX01BWCAzMgoKdHlwZWRlZiBzdHJ1Y3QgZmJnc3RfIHsKICAgIGludCBudW07CiAgICBjaGFyIHN0cltGQkdTVFJfTUFYXTsKfSBmYmdzdDsKCnR5cGVkZWYgdW5pb24gZmJnXyB7CiAgICBpbnQgbnVtOwogICAgZmJnc3Qgc3Q7Cn0gZmJnOwoKZmJnIGZpenooZmJnIG4pOwpmYmcgYnV6eihmYmcgbik7CmZiZyBnaXp6KGZiZyBuKTsKZmJnIGZiZ2Z1bmMoZmJnIG4saW50IG0sY2hhciAqc3RyKTsKdm9pZCBmYmdfcChmYmcgbyk7CgppbnQgbWFpbigpewogICAgZmJnX3AoIGJ1enooZml6eigoZmJnKTEpKSAgICAgICAgICAgKTsKICAgIGZiZ19wKCBidXp6KGZpenooKGZiZykzKSkgICAgICAgICAgICk7CiAgICBmYmdfcCggYnV6eihmaXp6KChmYmcpNSkpICAgICAgICAgICApOwogICAgZmJnX3AoIGJ1enooZml6eigoZmJnKTE1KSkgICAgICAgICAgKTsKICAgIGZiZ19wKCBnaXp6KGJ1enooZml6eigoZmJnKTcpKSkgICAgICk7CiAgICBmYmdfcCggZ2l6eihidXp6KGZpenooKGZiZykyMSkpKSAgICApOwogICAgZmJnX3AoIGdpenooYnV6eihmaXp6KChmYmcpMzUpKSkgICAgKTsKICAgIGZiZ19wKCBnaXp6KGJ1enooZml6eigoZmJnKTEwNSkpKSAgICk7CiAgICBmYmdfcCggYnV6eihnaXp6KGZpenooKGZiZykxMDUpKSkgICApOwogICAgcmV0dXJuIDA7Cn0KCmZiZyBmaXp6KGZiZyBuKXsKICAgIHJldHVybiBmYmdmdW5jKG4sMywiRml6eiIpOwp9CgpmYmcgYnV6eihmYmcgbil7CiAgICByZXR1cm4gZmJnZnVuYyhuLDUsIkJpenoiKTsKfQoKZmJnIGdpenooZmJnIG4pewogICAgcmV0dXJuIGZiZ2Z1bmMobiw3LCJHaXp6Iik7Cn0KCmZiZyBmYmdmdW5jKGZiZyBuLGludCBtLGNoYXIgKnN0cil7CiAgICBpZihuLnN0Lm51bSVtPT0wKXsKICAgICAgICBzdHJjYXQobi5zdC5zdHIsc3RyKTsKICAgIH0KICAgIHJldHVybiBuOwp9Cgp2b2lkIGZiZ19wKGZiZyBvKXsKICAgIGlmKG8uc3Quc3RyWzBdID09IDApewogICAgICAgIHByaW50ZigiJWRcbiIsby5zdC5udW0pOwogICAgfWVsc2V7CiAgICAgICAgcHV0cyhvLnN0LnN0cik7CiAgICB9Cn0K