#include <iostream>
#include <string>
#include <cmath>
int main() {
constexpr size_t message_char_limit = 1000;
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
unsigned short N;
std::cin >> N;
std::cin.ignore();
for (unsigned short i{ 0 }; i < N; ++i)
{
std::string message;
message.reserve(message_char_limit);
std::getline(std::cin, message);
//std::cin.ignore();
unsigned short L = message.size();
unsigned short M = L;
// double sqertewt = std::floor(sqrt(M));
while (std::floor(sqrt(M)) * std::floor(sqrt(M)) != M)
{
++M;
}
//message.append(M - L, '*');
size_t sqrtM = sqrt(M);
for (short j{ 0}; j < sqrtM; ++j)
{
for (size_t k{ 1 }; k <= sqrtM; ++k)
{
int idx = M - k*sqrtM + j;
if (M - k*sqrtM + j < L)
std::cout << message[M - k*sqrtM + j];
}
}
std::cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y21hdGg+CgppbnQgbWFpbigpIHsKCgljb25zdGV4cHIgc2l6ZV90IG1lc3NhZ2VfY2hhcl9saW1pdCA9IDEwMDA7CgkKCXN0ZDo6aW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CglzdGQ6OmNpbi50aWUobnVsbHB0cik7CgoJdW5zaWduZWQgc2hvcnQgTjsKCXN0ZDo6Y2luID4+IE47CglzdGQ6OmNpbi5pZ25vcmUoKTsKCglmb3IgKHVuc2lnbmVkIHNob3J0IGl7IDAgfTsgaSA8IE47ICsraSkKCXsKCQlzdGQ6OnN0cmluZyBtZXNzYWdlOwoJCW1lc3NhZ2UucmVzZXJ2ZShtZXNzYWdlX2NoYXJfbGltaXQpOwoJCXN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgbWVzc2FnZSk7CgkJLy9zdGQ6OmNpbi5pZ25vcmUoKTsKCgkJdW5zaWduZWQgc2hvcnQgTCA9IG1lc3NhZ2Uuc2l6ZSgpOwoJCXVuc2lnbmVkIHNob3J0IE0gPSBMOwovLwkJZG91YmxlIHNxZXJ0ZXd0ID0gc3RkOjpmbG9vcihzcXJ0KE0pKTsKCQl3aGlsZSAoc3RkOjpmbG9vcihzcXJ0KE0pKSAqIHN0ZDo6Zmxvb3Ioc3FydChNKSkgIT0gTSkKCQl7CgkJCSsrTTsKCQl9CgoJCS8vbWVzc2FnZS5hcHBlbmQoTSAtIEwsICcqJyk7CgkJc2l6ZV90IHNxcnRNID0gc3FydChNKTsKCgkJZm9yIChzaG9ydCBqeyAwfTsgaiA8IHNxcnRNOyArK2opCgkJewoJCQlmb3IgKHNpemVfdCBreyAxIH07IGsgPD0gc3FydE07ICsraykKCQkJewoJCQkJaW50IGlkeCA9IE0gLSBrKnNxcnRNICsgajsKCQkJCWlmIChNIC0gaypzcXJ0TSArIGogPCBMKQoJCQkJCXN0ZDo6Y291dCA8PCBtZXNzYWdlW00gLSBrKnNxcnRNICsgal07CgkJCX0KCQl9CgkJc3RkOjpjb3V0IDw8ICJcbiI7Cgl9CgoKCXJldHVybiAwOwp9