#include <boost/multiprecision/cpp_int.hpp>
#include <iostream>
#include <numeric>
#include <vector>
using boost::multiprecision::cpp_int;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::vector<cpp_int> power10(1001);
power10[0] = 1;
for (int i = 1; i <= 1000; ++i) power10[i] = power10[i - 1] * 10;
int t;
std::cin >> t;
while (t--) {
int i, j;
long long k;
std::cin >> i >> j >> k;
const int gap = j - i;
const cpp_int denominator = cpp_int(k - 1) * power10[j];
bool found = false;
for (int difference = 1; difference <= 9 && !found; ++difference) {
cpp_int numerator = cpp_int(difference) * (power10[gap] - 1);
if (cpp_int(k) * numerator >= denominator) continue;
int firstDigit = static_cast<int>((numerator * power10[i] / denominator) % 10);
int secondDigit = static_cast<int>((numerator * power10[j] / denominator) % 10);
if (secondDigit - firstDigit != difference) continue;
cpp_int divisor = boost::multiprecision::gcd(numerator, denominator);
std::cout << numerator / divisor << ' ' << denominator / divisor << '\n';
found = true;
}
if (!found) std::cout << "NO SOLUTION\n";
}
}
I2luY2x1ZGUgPGJvb3N0L211bHRpcHJlY2lzaW9uL2NwcF9pbnQuaHBwPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxudW1lcmljPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjpjcHBfaW50OwoKaW50IG1haW4oKSB7CiAgICBzdGQ6Omlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIHN0ZDo6Y2luLnRpZShudWxscHRyKTsKCiAgICBzdGQ6OnZlY3RvcjxjcHBfaW50PiBwb3dlcjEwKDEwMDEpOwogICAgcG93ZXIxMFswXSA9IDE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSAxMDAwOyArK2kpIHBvd2VyMTBbaV0gPSBwb3dlcjEwW2kgLSAxXSAqIDEwOwoKICAgIGludCB0OwogICAgc3RkOjpjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBpbnQgaSwgajsKICAgICAgICBsb25nIGxvbmcgazsKICAgICAgICBzdGQ6OmNpbiA+PiBpID4+IGogPj4gazsKCiAgICAgICAgY29uc3QgaW50IGdhcCA9IGogLSBpOwogICAgICAgIGNvbnN0IGNwcF9pbnQgZGVub21pbmF0b3IgPSBjcHBfaW50KGsgLSAxKSAqIHBvd2VyMTBbal07CiAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOwoKICAgICAgICBmb3IgKGludCBkaWZmZXJlbmNlID0gMTsgZGlmZmVyZW5jZSA8PSA5ICYmICFmb3VuZDsgKytkaWZmZXJlbmNlKSB7CiAgICAgICAgICAgIGNwcF9pbnQgbnVtZXJhdG9yID0gY3BwX2ludChkaWZmZXJlbmNlKSAqIChwb3dlcjEwW2dhcF0gLSAxKTsKICAgICAgICAgICAgaWYgKGNwcF9pbnQoaykgKiBudW1lcmF0b3IgPj0gZGVub21pbmF0b3IpIGNvbnRpbnVlOwoKICAgICAgICAgICAgaW50IGZpcnN0RGlnaXQgPSBzdGF0aWNfY2FzdDxpbnQ+KChudW1lcmF0b3IgKiBwb3dlcjEwW2ldIC8gZGVub21pbmF0b3IpICUgMTApOwogICAgICAgICAgICBpbnQgc2Vjb25kRGlnaXQgPSBzdGF0aWNfY2FzdDxpbnQ+KChudW1lcmF0b3IgKiBwb3dlcjEwW2pdIC8gZGVub21pbmF0b3IpICUgMTApOwogICAgICAgICAgICBpZiAoc2Vjb25kRGlnaXQgLSBmaXJzdERpZ2l0ICE9IGRpZmZlcmVuY2UpIGNvbnRpbnVlOwoKICAgICAgICAgICAgY3BwX2ludCBkaXZpc29yID0gYm9vc3Q6Om11bHRpcHJlY2lzaW9uOjpnY2QobnVtZXJhdG9yLCBkZW5vbWluYXRvcik7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBudW1lcmF0b3IgLyBkaXZpc29yIDw8ICcgJyA8PCBkZW5vbWluYXRvciAvIGRpdmlzb3IgPDwgJ1xuJzsKICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFmb3VuZCkgc3RkOjpjb3V0IDw8ICJOTyBTT0xVVElPTlxuIjsKICAgIH0KfQ==