#include <iostream>
struct S {
int n;
int l;
bool o;
S(int n_, int l_ = 3, bool o_ = false){
n = n_;
l = l_;
o = o_;
}
};
S zz(S s, int n, const char* str) {
if (s.n % n == 0) {
std::cout << str;
s.o = true;
}
if (--s.l == 0) {
if (!s.o) {
std::cout << s.n;
s.o = true;
}
std::cout << std::endl;
}
return s;
}
S fizz(S s){
return zz(s, 3, "Fizz");
}
S buzz(S s){
return zz(s, 5, "Buzz");
}
S gizz(S s){
return zz(s, 7, "Gizz");
}
int main() {
for (int i = 0; i <= 105; i++) {
gizz(buzz(fizz(i)));
buzz(gizz(fizz(i)));
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdHJ1Y3QgUyB7CglpbnQgbjsKCWludCBsOwoJYm9vbCBvOwoJUyhpbnQgbl8sIGludCBsXyA9IDMsIGJvb2wgb18gPSBmYWxzZSl7CgkJbiA9IG5fOwoJCWwgPSBsXzsKCQlvID0gb187Cgl9Cn07ClMgenooUyBzLCBpbnQgbiwgY29uc3QgY2hhciogc3RyKSB7CglpZiAocy5uICUgbiA9PSAwKSB7CgkJc3RkOjpjb3V0IDw8IHN0cjsKCQlzLm8gPSB0cnVlOwoJfQoJaWYgKC0tcy5sID09IDApIHsKCQlpZiAoIXMubykgewoJCQlzdGQ6OmNvdXQgPDwgcy5uOwoJCQlzLm8gPSB0cnVlOwoJCX0KCQlzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJfQoJcmV0dXJuIHM7Cn0KUyBmaXp6KFMgcyl7CglyZXR1cm4genoocywgMywgIkZpenoiKTsKfQpTIGJ1enooUyBzKXsKCXJldHVybiB6eihzLCA1LCAiQnV6eiIpOwp9ClMgZ2l6eihTIHMpewoJcmV0dXJuIHp6KHMsIDcsICJHaXp6Iik7Cn0KaW50IG1haW4oKSB7Cglmb3IgKGludCBpID0gMDsgaSA8PSAxMDU7IGkrKykgewoJCWdpenooYnV6eihmaXp6KGkpKSk7CgkJYnV6eihnaXp6KGZpenooaSkpKTsKCX0KCXJldHVybiAwOwp9Cg==