#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){
        strcat(n.st.str,str);
    }
    return n;
}

void fbg_p(fbg o){
    if(o.st.str[0] == 0){
        printf("%d\n",o.st.num);
    }else{
        puts(o.st.str);
    }
}
