#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define all(x) x.begin(), x.end()
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template <typename T> using o_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <typename T, typename R> using o_map = tree<T, R, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
typedef long long ll;
#define inf 1e9
#define MOD 1000000007
#define vint vector<int>
#define vll vector<ll>
#define no cout << "NO" << endl;
ll sum (ll n ) {
if (n < 10 ) return n*(n+1) /2 ;
string s = to_string (n);
ll sz = s.size() ;
ll d = pow (10 , sz-1) ;
ll x = n /d ;
ll ans1 = 45 * pow (10 , sz -2 ) *(sz-1 ) *x ;
ll ans2 = x*(x-1) * d ;
ll ans3 = x * (n % d +1) ;
return ans1 + ans2 + ans3 + sum(n % d ) ;
}
void solve(){
int n ; cin >> n ;
cout << sum(n) << endl ;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t = 1;
cin >> t ;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CnRlbXBsYXRlIDx0eXBlbmFtZSBUPiB1c2luZyBvX3NldCA9IHRyZWU8VCwgbnVsbF90eXBlLCBsZXNzPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFI+IHVzaW5nIG9fbWFwID0gdHJlZTxULCBSLCBsZXNzPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CgojZGVmaW5lIGluZiAxZTkKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIHZpbnQgdmVjdG9yPGludD4KI2RlZmluZSB2bGwgdmVjdG9yPGxsPgojZGVmaW5lIG5vIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwpsbCBzdW0gKGxsIG4gICkgewogICAgaWYgKG4gPCAxMCApIHJldHVybiBuKihuKzEpIC8yIDsKICAgIHN0cmluZyBzICA9IHRvX3N0cmluZyAobik7CiAgICBsbCBzeiA9IHMuc2l6ZSgpIDsKICAgIGxsIGQgPSBwb3cgKDEwICwgc3otMSkgOwogICAgbGwgeCA9ICBuIC9kIDsKICAgIGxsIGFuczEgID0gNDUgKiBwb3cgKDEwICwgIHN6IC0yICkgKihzei0xICkgKnggOwogICAgbGwgYW5zMiA9IHgqKHgtMSkgKiBkIDsKICAgIGxsIGFuczMgPSB4ICAqIChuICUgZCArMSkgOwogICAgcmV0dXJuIGFuczEgKyBhbnMyICsgYW5zMyArIHN1bShuICUgZCApIDsKCn0KCnZvaWQgc29sdmUoKXsKICAgIGludCBuIDsgY2luID4+IG4gOwogICAgY291dCA8PCBzdW0obikgPDwgZW5kbCA7Cn0KCgoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCgogICAgaW50IHQgPSAxOwoKICAgIGNpbiA+PiB0IDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K