#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int g;
int n;
struct specice
{
int x;
int y;
};
bool mycmp(specice s1, specice s2)
{
return s1.y < s2.y;
}
vector<specice>v;
int main()
{
cin >> g;
while (g--)
{
cin >> n;
specice s;
for (int i = 1;i <= n;i++)
{
cin >> s.x >> s.y;
v.push_back(s);
}
sort(v.begin(), v.end(), mycmp);
int x = 0;
int y = 0;
bool flag = 1;
for (int i = 0;i < v.size();i++)
{
if (v[i].y - y < abs(v[i].x - x))
{
flag = 0;
break;
}
else
{
x = v[i].x;
y = v[i].y;
}
}
if (flag)
{
cout << "Abletocatch" << endl;
}
else
{
cout << "Notabletocatch" << endl;
}
v.clear();
}
return 0;
}
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
int main()
{
long long n;
vector<int>v;
vector<long long>vans;
while (cin >> n)
{
v.clear();
vans.clear();
vans.push_back(n);
long long test = n;
while (test)
{
v.push_back(test % 10);
test /= 10;
}
sort(v.begin(), v.end());
long long maxx = 0;
long long minn = 0;
for (int i = 0;i < v.size();i++)
{
minn *= 10;
maxx *= 10;
minn += v[i];
maxx += v[v.size() - 1 - i];
}
long long x = maxx - minn;
vans.push_back(x);
while (1)
{
v.clear();
test = x;
bool flag = 0;
while (test)
{
v.push_back(test % 10);
test /= 10;
}
sort(v.begin(), v.end());
maxx = 0;
minn = 0;
for (int i = 0;i < v.size();i++)
{
minn *= 10;
maxx *= 10;
minn += v[i];
maxx += v[v.size() - 1 - i];
}
x = maxx - minn;
for (int i = 0;i < vans.size();i++)
{
if (flag)
{
cout << vans[i] << " ";
}
else if (x == vans[i])
{
flag = 1;
cout << vans[i] << " ";
continue;
}
}
if (flag)
{
cout << endl;
break;
}
else
{
vans.push_back(x);
}
}
}
return 0;
}