#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
long long luckiness(long long a) {
long long max_digit = -1;
long long min_digit = 10;
long long tmp;
while (a != 0) {
tmp = a % 10;
a /= 10;
max_digit = max(a, max_digit);
min_digit = min(a, min_digit);
}
return max_digit - min_digit;
}
long long solve(long long left, long long right) {
long long tmp1, tmp2;
if (right - left >= 100) {
return (right/10 - 1)*10;
}
if (right - left > 90) {
tmp1 = ((right-1)/100)*100 + 90; // minus 1 to prevent test case 1 100
if (left <= tmp1 && tmp1 <= right) {
return tmp1;
}
tmp1 = (left/100)*100 + 9;
if (left <= tmp1 && tmp1 <= right) {
return tmp1;
}
}
if (right < 10) {
// luckiest == 0.
return 0;
}
else {
left = max(left, 10LL);
}
if (left/10 == right/10) {
return right;
}
if (left/100 != right/100) {
tmp1 = right - left;
if (tmp1 > 17) { // inteval contains a90 or b09
tmp2 = (right/100)*100 + 90;
if (left <= tmp2 && tmp2 <= right) {
return tmp2;
}
tmp2 = (left/100)*100 + 9;
if (left <= tmp2 && tmp2 <= right) {
return tmp2;
}
}
else {
long long luckiest = -1;
for (long long i = left; i <= right; i++) {
luckiest = max(luckiest, i);
}
return luckiest;
}
}
tmp1 = (right/10)*10;
return luckiness(tmp1) > luckiness(tmp1 - 1) ? tmp1 : tmp1 - 1;
}
int main() {
long long test_cases;
long long left, right;
cin >> test_cases;
while (test_cases--) {
cin >> left >> right;
cout << solve(left, right) << "\n";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbG9uZyBsb25nIGx1Y2tpbmVzcyhsb25nIGxvbmcgYSkgewogICAgbG9uZyBsb25nIG1heF9kaWdpdCA9IC0xOwogICAgbG9uZyBsb25nIG1pbl9kaWdpdCA9IDEwOwogICAgbG9uZyBsb25nIHRtcDsKICAgIHdoaWxlIChhICE9IDApIHsKICAgICAgICB0bXAgPSBhICUgMTA7CiAgICAgICAgYSAvPSAxMDsKICAgICAgICBtYXhfZGlnaXQgPSBtYXgoYSwgbWF4X2RpZ2l0KTsKICAgICAgICBtaW5fZGlnaXQgPSBtaW4oYSwgbWluX2RpZ2l0KTsKICAgIH0KICAgIHJldHVybiBtYXhfZGlnaXQgLSBtaW5fZGlnaXQ7Cn0KCmxvbmcgbG9uZyBzb2x2ZShsb25nIGxvbmcgbGVmdCwgbG9uZyBsb25nIHJpZ2h0KSB7CiAgICBsb25nIGxvbmcgdG1wMSwgdG1wMjsKICAgIAogICAgaWYgKHJpZ2h0IC0gbGVmdCA+PSAxMDApIHsKICAgICAgICByZXR1cm4gKHJpZ2h0LzEwIC0gMSkqMTA7CiAgICB9CiAgICAKICAgIGlmIChyaWdodCAtIGxlZnQgPiA5MCkgewogICAgICAgIHRtcDEgPSAoKHJpZ2h0LTEpLzEwMCkqMTAwICsgOTA7IC8vIG1pbnVzIDEgdG8gcHJldmVudCB0ZXN0IGNhc2UgMSAxMDAKICAgICAgICBpZiAobGVmdCA8PSB0bXAxICYmIHRtcDEgPD0gcmlnaHQpIHsKICAgICAgICAgICAgcmV0dXJuIHRtcDE7CiAgICAgICAgfQogICAgICAgIHRtcDEgPSAobGVmdC8xMDApKjEwMCArIDk7CiAgICAgICAgaWYgKGxlZnQgPD0gdG1wMSAmJiB0bXAxIDw9IHJpZ2h0KSB7CiAgICAgICAgICAgIHJldHVybiB0bXAxOwogICAgICAgIH0KICAgIH0KICAgIAogICAgaWYgKHJpZ2h0IDwgMTApIHsKICAgICAgICAvLyBsdWNraWVzdCA9PSAwLgogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgbGVmdCA9IG1heChsZWZ0LCAxMExMKTsKICAgIH0KICAgIGlmIChsZWZ0LzEwID09IHJpZ2h0LzEwKSB7CiAgICAgICAgcmV0dXJuIHJpZ2h0OwogICAgfQogICAgaWYgKGxlZnQvMTAwICE9IHJpZ2h0LzEwMCkgewogICAgICAgIHRtcDEgPSByaWdodCAtIGxlZnQ7CiAgICAgICAgaWYgKHRtcDEgPiAxNykgeyAvLyBpbnRldmFsIGNvbnRhaW5zIGE5MCBvciBiMDkKICAgICAgICAgICAgdG1wMiA9IChyaWdodC8xMDApKjEwMCArIDkwOwogICAgICAgICAgICBpZiAobGVmdCA8PSB0bXAyICYmIHRtcDIgPD0gcmlnaHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0bXAyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRtcDIgPSAobGVmdC8xMDApKjEwMCArIDk7CiAgICAgICAgICAgIGlmIChsZWZ0IDw9IHRtcDIgJiYgdG1wMiA8PSByaWdodCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRtcDI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyBsdWNraWVzdCA9IC0xOwogICAgICAgICAgICBmb3IgKGxvbmcgbG9uZyBpID0gbGVmdDsgaSA8PSByaWdodDsgaSsrKSB7CiAgICAgICAgICAgICAgICBsdWNraWVzdCA9IG1heChsdWNraWVzdCwgaSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGx1Y2tpZXN0OwogICAgICAgIH0KICAgIH0KICAgIAogICAgdG1wMSA9IChyaWdodC8xMCkqMTA7CiAgICByZXR1cm4gbHVja2luZXNzKHRtcDEpID4gbHVja2luZXNzKHRtcDEgLSAxKSA/IHRtcDEgOiB0bXAxIC0gMTsKfQoKaW50IG1haW4oKSB7CiAgICBsb25nIGxvbmcgdGVzdF9jYXNlczsKICAgIGxvbmcgbG9uZyBsZWZ0LCByaWdodDsKICAgIGNpbiA+PiB0ZXN0X2Nhc2VzOwogICAgd2hpbGUgKHRlc3RfY2FzZXMtLSkgewogICAgICAgIGNpbiA+PiBsZWZ0ID4+IHJpZ2h0OwogICAgICAgIGNvdXQgPDwgc29sdmUobGVmdCwgcmlnaHQpIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==