#include <bits/stdc++.h>
using namespace std;
/*
Given n, we want the minimum number of operations (adding 9, 99, 999, ...)
to reach a number that has at least one digit '7'. Each operation
adds an integer whose decimal digits are all '9'.
Algorithm:
1) If n already has '7', answer = 0.
2) Otherwise, scan y = n+1, n+2, ... until we find y that contains '7'.
Let m = y - n.
3) We look for the smallest k >= 1 such that
digit_sum(m + k) == k.
As soon as we find that, we output k.
Complexity: In the worst case, we’ll check maybe ~10–20 values of y
(since ~1/10 of integers contain '7'), and for each candidate m we
try k up to ~100, computing a digit‐sum in O( log_{10}(m) ) time.
That’s easily < O(10^6) total work over 10^4 test cases.
*/
static long long digit_sum(long long x) {
long long s = 0;
while (x > 0) {
s += (x % 10);
x /= 10;
}
return s;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
long long n;
cin >> n;
// 1) If n already contains '7', answer = 0
{
bool has7 = false;
for (long long tmp = n; tmp > 0; tmp /= 10) {
if ((tmp % 10) == 7) {
has7 = true;
break;
}
}
if (has7) {
cout << 0 << "\n";
continue;
}
}
// 2) Otherwise, increment y until we see a '7' in y
long long y = n + 1;
for (;;) {
long long tmp = y;
bool has7 = false;
while (tmp > 0) {
if ((tmp % 10) == 7) {
has7 = true;
break;
}
tmp /= 10;
}
if (has7) break;
++y;
}
long long m = y - n; // total increment we want to realize
// 3) Find the smallest k >= 1 so that digit_sum(m + k) == k
int answer = -1;
for (int k = 1; k <= 100; ++k) {
long long D = m + k;
if (digit_sum(D) == k) {
answer = k;
break;
}
}
// (We are guaranteed to find some k ≤ 100 in all reasonable inputs.)
cout << answer << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovKgogIEdpdmVuIG4sIHdlIHdhbnQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgKGFkZGluZyA5LCA5OSwgOTk5LCAuLi4pCiAgdG8gcmVhY2ggYSBudW1iZXIgdGhhdCBoYXMgYXQgbGVhc3Qgb25lIGRpZ2l0ICc3Jy4gIEVhY2ggb3BlcmF0aW9uCiAgYWRkcyBhbiBpbnRlZ2VyIHdob3NlIGRlY2ltYWwgZGlnaXRzIGFyZSBhbGwgJzknLgoKICBBbGdvcml0aG06CiAgICAxKSBJZiBuIGFscmVhZHkgaGFzICc3JywgYW5zd2VyID0gMC4KICAgIDIpIE90aGVyd2lzZSwgc2NhbiB5ID0gbisxLCBuKzIsIC4uLiB1bnRpbCB3ZSBmaW5kIHkgdGhhdCBjb250YWlucyAnNycuCiAgICAgICBMZXQgbSA9IHkgLSBuLgogICAgMykgV2UgbG9vayBmb3IgdGhlIHNtYWxsZXN0IGsgPj0gMSBzdWNoIHRoYXQKICAgICAgICAgZGlnaXRfc3VtKG0gKyBrKSA9PSBrLgogICAgICAgQXMgc29vbiBhcyB3ZSBmaW5kIHRoYXQsIHdlIG91dHB1dCBrLgoKICBDb21wbGV4aXR5OiAgSW4gdGhlIHdvcnN0IGNhc2UsIHdl4oCZbGwgY2hlY2sgbWF5YmUgfjEw4oCTMjAgdmFsdWVzIG9mIHkKICAoc2luY2UgfjEvMTAgb2YgaW50ZWdlcnMgY29udGFpbiAnNycpLCBhbmQgZm9yIGVhY2ggY2FuZGlkYXRlIG0gd2UKICB0cnkgayB1cCB0byB+MTAwLCBjb21wdXRpbmcgYSBkaWdpdOKAkHN1bSBpbiBPKCBsb2dfezEwfShtKSApIHRpbWUuCiAgVGhhdOKAmXMgZWFzaWx5IDwgTygxMF42KSB0b3RhbCB3b3JrIG92ZXIgMTBeNCB0ZXN0IGNhc2VzLgoqLwoKc3RhdGljIGxvbmcgbG9uZyBkaWdpdF9zdW0obG9uZyBsb25nIHgpIHsKICAgIGxvbmcgbG9uZyBzID0gMDsKICAgIHdoaWxlICh4ID4gMCkgewogICAgICAgIHMgKz0gKHggJSAxMCk7CiAgICAgICAgeCAvPSAxMDsKICAgIH0KICAgIHJldHVybiBzOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBsb25nIGxvbmcgbjsKICAgICAgICBjaW4gPj4gbjsKCiAgICAgICAgLy8gMSkgSWYgbiBhbHJlYWR5IGNvbnRhaW5zICc3JywgYW5zd2VyID0gMAogICAgICAgIHsKICAgICAgICAgICAgYm9vbCBoYXM3ID0gZmFsc2U7CiAgICAgICAgICAgIGZvciAobG9uZyBsb25nIHRtcCA9IG47IHRtcCA+IDA7IHRtcCAvPSAxMCkgewogICAgICAgICAgICAgICAgaWYgKCh0bXAgJSAxMCkgPT0gNykgewogICAgICAgICAgICAgICAgICAgIGhhczcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChoYXM3KSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDAgPDwgIlxuIjsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyAyKSBPdGhlcndpc2UsIGluY3JlbWVudCB5IHVudGlsIHdlIHNlZSBhICc3JyBpbiB5CiAgICAgICAgbG9uZyBsb25nIHkgPSBuICsgMTsKICAgICAgICBmb3IgKDs7KSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyB0bXAgPSB5OwogICAgICAgICAgICBib29sIGhhczcgPSBmYWxzZTsKICAgICAgICAgICAgd2hpbGUgKHRtcCA+IDApIHsKICAgICAgICAgICAgICAgIGlmICgodG1wICUgMTApID09IDcpIHsKICAgICAgICAgICAgICAgICAgICBoYXM3ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRtcCAvPSAxMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoaGFzNykgYnJlYWs7CiAgICAgICAgICAgICsreTsKICAgICAgICB9CgogICAgICAgIGxvbmcgbG9uZyBtID0geSAtIG47ICAvLyB0b3RhbCBpbmNyZW1lbnQgd2Ugd2FudCB0byByZWFsaXplCgogICAgICAgIC8vIDMpIEZpbmQgdGhlIHNtYWxsZXN0IGsgPj0gMSBzbyB0aGF0IGRpZ2l0X3N1bShtICsgaykgPT0gawogICAgICAgIGludCBhbnN3ZXIgPSAtMTsKICAgICAgICBmb3IgKGludCBrID0gMTsgayA8PSAxMDA7ICsraykgewogICAgICAgICAgICBsb25nIGxvbmcgRCA9IG0gKyBrOwogICAgICAgICAgICBpZiAoZGlnaXRfc3VtKEQpID09IGspIHsKICAgICAgICAgICAgICAgIGFuc3dlciA9IGs7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gKFdlIGFyZSBndWFyYW50ZWVkIHRvIGZpbmQgc29tZSBrIOKJpCAxMDAgaW4gYWxsIHJlYXNvbmFibGUgaW5wdXRzLikKICAgICAgICBjb3V0IDw8IGFuc3dlciA8PCAiXG4iOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==