#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";
    }
}