#include <iostream>
#include <cmath>
#include <cassert>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
std::string operator*(std::string const &s, size_t n)
{
std::string r;
r.reserve(n * s.size());
for (size_t i = 0, j = 0; i < n; ++i, j += s.size())
memcpy (&(r[j]), &(s[0]), s.size());
return r;
}
std::string operator^(std::string const &s, size_t n)
{
std::string r = s;
if (n == 0) return std::string(" ");
for (size_t i = 1; i < n; i++)
{
r = s * r.size();
}
return r;
}
int main()
{
string blank = " ";
string blank2 = blank * 2;
string blank4 = blank2 ^ 2;
string blank8 = blank2 ^ 3;
string blank16 = blank2 ^ 4;
for (int i = 0; i < 100; i++)
std::cout << (blank2 ^ i).size() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxjYXNzZXJ0PgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdGQ6OnN0cmluZyBvcGVyYXRvciooc3RkOjpzdHJpbmcgY29uc3QgJnMsIHNpemVfdCBuKQp7CiAgICBzdGQ6OnN0cmluZyByOwogICAgci5yZXNlcnZlKG4gKiBzLnNpemUoKSk7CiAgICBmb3IgKHNpemVfdCBpID0gMCwgaiA9IDA7IGkgPCBuOyArK2ksIGogKz0gcy5zaXplKCkpCiAgICAgICAgbWVtY3B5ICgmKHJbal0pLCAmKHNbMF0pLCBzLnNpemUoKSk7CiAgICByZXR1cm4gcjsgICAgICAgICAgICAgICAgCn0KCnN0ZDo6c3RyaW5nIG9wZXJhdG9yXihzdGQ6OnN0cmluZyBjb25zdCAmcywgc2l6ZV90IG4pCnsKICAgIHN0ZDo6c3RyaW5nIHIgPSBzOwogICAgaWYgKG4gPT0gMCkgcmV0dXJuIHN0ZDo6c3RyaW5nKCIgIik7CiAgICBmb3IgKHNpemVfdCBpID0gMTsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICByID0gcyAqIHIuc2l6ZSgpOwogICAgfQoKICAgIHJldHVybiByOwp9CgppbnQgbWFpbigpCnsKICAgIHN0cmluZyBibGFuayA9ICIgIjsKICAgIHN0cmluZyBibGFuazIgPSBibGFuayAqIDI7CiAgICBzdHJpbmcgYmxhbms0ID0gYmxhbmsyIF4gMjsKICAgIHN0cmluZyBibGFuazggPSBibGFuazIgXiAzOwogICAgc3RyaW5nIGJsYW5rMTYgPSBibGFuazIgXiA0OwogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDsgaSsrKQogICAgICAgIHN0ZDo6Y291dCA8PCAoYmxhbmsyIF4gaSkuc2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKICAgCiAgICByZXR1cm4gMDsKfQ==