Problem: You are given three integers a, b and c.

Find two positive integers x and y (x > 0, y > 0) such that: 

  * the decimal representation of x without leading zeroes consists of a digits; 
  * the decimal representation of y without leading zeroes consists of b digits; 
  * the decimal representation of gcd(x, y) without leading zeroes consists of c digits. 



gcd(x, y) denotes the [greatest common divisor (GCD)](https://en.wikipedia.org/wiki/Greatest_common_divisor) of integers x and y.

Output x and y. If there are multiple answers, output any of them.

Input

The first line contains a single integer t (1 ≤ t ≤ 285) — the number of testcases.

Each of the next t lines contains three integers a, b and c (1 ≤ a, b ≤ 9, 1 ≤ c ≤ min(a, b)) — the required lengths of the numbers.

It can be shown that the answer exists for all testcases under the given constraints.

Additional constraint on the input: all testcases are different.

Output

For each testcase print two positive integers — x and y (x > 0, y > 0) such that 

  * the decimal representation of x without leading zeroes consists of a digits; 
  * the decimal representation of y without leading zeroes consists of b digits; 
  * the decimal representation of gcd(x, y) without leading zeroes consists of c digits. 

Example

Input


4
2 3 1
2 2 2
6 6 2
1 1 1


Output


11 492
13 26
140133 160776
1 1

Note

In the example: 

  1. gcd(11, 492) = 1 
  2. gcd(13, 26) = 13 
  3. gcd(140133, 160776) = 21 
  4. gcd(1, 1) = 1 

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;

#define MOD 1000000007
#define maxn 100000000000017
#define endl "\n"
#define mk make_pair
#define pll pair<ll, ll>
#define vll vector<ll>
#define vld vector<ld>
#define vpll vector<ppl>
#define ff first
#define ss second
#define pb push_back

typedef long long ll;
typedef long double ld;

#define o(...)                          \
    if (local == 'L')                   \
    {                                   \
        __f(#__VA_ARGS__, __VA_ARGS__); \
        cout << endl;                   \
    }

#define Ns 1000007

char local = 'O';

////////////////#####################INPUT###############///////////////////////

template <typename T>
void read(T &p)
{
    cin >> p;
}

template <typename T, typename T1>
void read(pair<T, T1> &p)
{
    read(p.ff);
    read(p.ss);
}

template <typename T>
void read(T arr[], ll n)
{
    for (ll i = 0; i < n; i++)
    {
        read(arr[i]);
    }
}

template <typename T>
void read(vector<T> &arr)
{
    for (ll i = 0; i < arr.size(); i++)
    {
        read(arr[i]);
    }
}

////////////////#####################OUPUT###############///////////////////////

template <typename T>
void out(T &n)
{
    cout << n;
}

template <typename T, typename T1>
void out(pair<T, T1> &p)
{
    cout << "(";
    out(p.ff);
    cout << ",";
    out(p.ss);
    cout << ")";
}

template <typename T>
void out(T arr[], ll n)
{
    for (ll i = 0; i < n; i++)
    {
        out(arr[i]);
        cout << " ";
    }
}

template <typename T>
void out(vector<T> &arr)
{

    cout << "[ ";
    for (ll i = 0; i < arr.size(); i++)
    {
        out(arr[i]);
        if (i != arr.size() - 1)
            cout << ", ";
    }
    cout << " ]";
}

template <typename T>
void out(set<T> &arr)
{
    for (auto i : arr)
    {
        out(i);
        cout << " ";
    }
}

template <typename T>
void out(multiset<T> &arr)
{
    for (auto i : arr)
    {
        out(i);
        cout << " ";
    }
}

template <typename T, typename T1>
void out(map<T, T1> &m)
{
    for (auto i : m)
    {
        out(i.first);
        cout << " -> ";
        out(i.second);
        cout << ", ";
    }
}

template <typename Arg1>
void __f(const char *name, Arg1 &&arg1)
{
    cout << name << " : ";
    out(arg1);
}

template <typename Arg1, typename... Args>
void __f(const char *names, Arg1 &&arg1, Args &&...args)
{
    const char *comma = strchr(names + 1, ',');
    cout.write(names, comma - names) << " : ";
    out(arg1);
    cout << " | ";
    __f(comma + 1, args...);
}
/////////////////////////////DEBUG////////////////////////////////////////
template <class T>
void debug(T n, string a)
{
    cout << a << "=" << n << "\n";
}

////////////////////////////////////END TEMPLATE//////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

void cal()
{
}

void solve()
{
    int a, b, c;
    cin >> a >> b >> c;
    string a2="1";
    string b2="1";
    for(int i=1;i<a;i++){
        a2.push_back('0');
        
    }
    for(int i=1;i<b;i++){
        b2.push_back('0');

    }
    b2[b-c]='1';
    cout<<a2<<" "<<b2<<endl;
    

    

}

int main()
{

#ifdef L
    local = 'L';
    time_t start, end;
    time(&start);
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    ll t1;

    t1 = 1;

    cin >> t1;

    cal();

    while (t1--)
    {
        solve();
    }

#ifdef L
    time(&end);
    double time_taken = double(end - start);
    cout << endl
         << endl
         << endl
         << "Time taken by program is : " << fixed
         << time_taken << setprecision(6);
    cout << " sec " << endl;
#endif
}