#include <iostream>
class C {
int n;
bool f;
public:
C(int n) : n(n), f(false) { }
C &operator()(int n, char const *s) {
if (this->n % n == 0) {
std::cout << s;
f = true;
}
return *this;
}
friend std::ostream &operator<<(std::ostream &s, C c) {
if (!c.f)
s << c.n;
return s;
}
};
int main() {
std::cout << C(1)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(3)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(5)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(15)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(21)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(35)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(105)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
std::cout << C(105)(7, "Gizz")(5, "Buzz")(3, "Fizz") << std::endl;
std::cout << C(997)(3, "Fizz")(5, "Buzz")(7, "Gizz") << std::endl;
return 0;
}
/* end */