#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
#define nl '\n'
#define debug cout<<"yo\n"
const int mod = 1000000007;
using namespace std;
/*
Author: shardic
COOK181B: YVNUM
Date: 24th December 2018 (Monday)
Time: 10:39 pm (+05:30)
*/
int main()
{
ios::sync_with_stdio(false); //TIME IS EVERYTHING
cin.tie(0); //TIME IS EVERYTHING
int t;
cin >> t;
while(t--)
{
int a, num;
vector<int> v;
cin >> a;
num = a;
while(num)
{
v.push_back(num%10);
num /= 10;
}
reverse(v.begin(), v.end());
vector<int> v1 = v, v2 = v;
rotate(v.begin(), v.begin()+1, v.end());
while(v != v2)
{
for(auto i = v.begin(); i != v.end(); i++)
v1.push_back(*i);
rotate(v.begin(), v.begin()+1, v.end());
}
long long ans = 0;
int dig = v1.size();
for(auto x : v1)
ans += x*(long long)pow(10, --dig);
cout << ans%mod << nl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxjbWF0aD4KI2RlZmluZSBubCAnXG4nCiNkZWZpbmUgZGVidWcgY291dDw8InlvXG4iCmNvbnN0IGludCBtb2QgPSAxMDAwMDAwMDA3Owp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyoKICAgQXV0aG9yOiBzaGFyZGljCiAgIENPT0sxODFCOiBZVk5VTQogICBEYXRlOiAyNHRoIERlY2VtYmVyIDIwMTggKE1vbmRheSkKICAgVGltZTogMTA6MzkgcG0gKCswNTozMCkKKi8KCmludCBtYWluKCkKewogIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgICAgICAgIC8vVElNRSBJUyBFVkVSWVRISU5HCiAgY2luLnRpZSgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy9USU1FIElTIEVWRVJZVEhJTkcKICBpbnQgdDsKICBjaW4gPj4gdDsKICB3aGlsZSh0LS0pCiAgewogICAgaW50IGEsIG51bTsKICAgIHZlY3RvcjxpbnQ+IHY7CiAgICBjaW4gPj4gYTsKICAgIG51bSA9IGE7CiAgICB3aGlsZShudW0pCiAgICB7CiAgICAgIHYucHVzaF9iYWNrKG51bSUxMCk7CiAgICAgIG51bSAvPSAxMDsKICAgIH0KICAgIHJldmVyc2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKICAgIHZlY3RvcjxpbnQ+IHYxID0gdiwgdjIgPSB2OwogICAgcm90YXRlKHYuYmVnaW4oKSwgdi5iZWdpbigpKzEsIHYuZW5kKCkpOwogICAgd2hpbGUodiAhPSB2MikKICAgIHsKICAgICAgZm9yKGF1dG8gaSA9IHYuYmVnaW4oKTsgaSAhPSB2LmVuZCgpOyBpKyspCiAgICAgICAgdjEucHVzaF9iYWNrKCppKTsKICAgICAgcm90YXRlKHYuYmVnaW4oKSwgdi5iZWdpbigpKzEsIHYuZW5kKCkpOwogICAgfQogICAgbG9uZyBsb25nIGFucyA9IDA7CiAgICBpbnQgZGlnID0gdjEuc2l6ZSgpOwogICAgZm9yKGF1dG8geCA6IHYxKQogICAgICBhbnMgKz0geCoobG9uZyBsb25nKXBvdygxMCwgLS1kaWcpOwogICAgY291dCA8PCBhbnMlbW9kIDw8IG5sOwogIH0KICByZXR1cm4gMDsKfQo=