#include <bits/stdc++.h>
#define ll long long
#define sti string
#define bit(n,i) ((n>>i) &1)
#define itachi ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define maxn 20005
#define fi first
#define se second
#define i18 __int128_t
using namespace std;
ll f[maxn];
ll nxt[maxn][35];
const ll mod=111539786;
ll block[maxn];
int main()
{
itachi
int test;
cin>>test;
while(test--){
sti tmp;cin>>tmp;
int n=1;
sti s="";
memset(f,0,sizeof(f));
for(int i=0;i<tmp.size();){
char c=tmp[i++];
s.push_back(c);
ll val=0;
while(i<tmp.size() && (tmp[i]>='0' && tmp[i]<='9')){
val=val*10+(tmp[i]-'0');
i++;
}
block[n]=val;
n++;
}
s=' '+s;
for(int j=0;j<26;j++) nxt[n+1][j]=n+1;
for(int i=n;i>=0;i--){
for(int j=0;j<26;j++) nxt[i][j]=nxt[i+1][j];
nxt[i][s[i]-'a']=i;
}
f[0]=1; block[0]=1;
for(int i=0;i<=n;i++){
for(int j=0;j<26;j++){
if(nxt[i+1][j]<=n){
if(j!=(s[i]-'a')){
f[nxt[i+1][j]]=(f[nxt[i+1][j]]+((block[i]*f[i])%mod)%mod);
}
else {
f[nxt[i+1][j]]+=f[i];
f[nxt[i+1][j]]%=mod;
}
}
}
}
ll ans=0;
for(int i=1;i<=n;i++) {
ans=(ans+(f[i]*block[i])%mod)%mod;
}
cout<<ans<<'\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgc3RpIHN0cmluZwojZGVmaW5lIGJpdChuLGkpICgobj4+aSkgJjEpCiNkZWZpbmUgaXRhY2hpIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBtYXhuIDIwMDA1CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBpMTggX19pbnQxMjhfdAoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpsbCBmW21heG5dOwpsbCBueHRbbWF4bl1bMzVdOwpjb25zdCBsbCBtb2Q9MTExNTM5Nzg2OwpsbCBibG9ja1ttYXhuXTsKCmludCBtYWluKCkKewogICAgaXRhY2hpCiAgICBpbnQgdGVzdDsKICAgIGNpbj4+dGVzdDsKICAgIHdoaWxlKHRlc3QtLSl7CiAgICAgICAgc3RpIHRtcDtjaW4+PnRtcDsKICAgICAgICBpbnQgbj0xOwogICAgICAgIHN0aSBzPSIiOwogICAgICAgIG1lbXNldChmLDAsc2l6ZW9mKGYpKTsKICAgICAgICBmb3IoaW50IGk9MDtpPHRtcC5zaXplKCk7KXsKICAgICAgICAgICAgY2hhciBjPXRtcFtpKytdOwogICAgICAgICAgICBzLnB1c2hfYmFjayhjKTsKICAgICAgICAgICAgbGwgdmFsPTA7CiAgICAgICAgICAgIHdoaWxlKGk8dG1wLnNpemUoKSAmJiAodG1wW2ldPj0nMCcgJiYgdG1wW2ldPD0nOScpKXsKICAgICAgICAgICAgICAgIHZhbD12YWwqMTArKHRtcFtpXS0nMCcpOwogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJsb2NrW25dPXZhbDsKICAgICAgICAgICAgbisrOwogICAgICAgIH0KICAgICAgICBzPScgJytzOwogICAgICAgIGZvcihpbnQgaj0wO2o8MjY7aisrKSBueHRbbisxXVtqXT1uKzE7CiAgICAgICAgZm9yKGludCBpPW47aT49MDtpLS0pewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPDI2O2orKykgbnh0W2ldW2pdPW54dFtpKzFdW2pdOwogICAgICAgICAgICAgbnh0W2ldW3NbaV0tJ2EnXT1pOwogICAgICAgIH0KICAgICAgICBmWzBdPTE7IGJsb2NrWzBdPTE7CiAgICAgICAgZm9yKGludCBpPTA7aTw9bjtpKyspewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPDI2O2orKyl7CiAgICAgICAgICAgICAgICBpZihueHRbaSsxXVtqXTw9bil7CiAgICAgICAgICAgICAgICAgICAgaWYoaiE9KHNbaV0tJ2EnKSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGZbbnh0W2krMV1bal1dPShmW254dFtpKzFdW2pdXSsoKGJsb2NrW2ldKmZbaV0pJW1vZCklbW9kKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZbbnh0W2krMV1bal1dKz1mW2ldOwogICAgICAgICAgICAgICAgICAgICAgICBmW254dFtpKzFdW2pdXSU9bW9kOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBsbCBhbnM9MDsKICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgewogICAgICAgICAgICBhbnM9KGFucysoZltpXSpibG9ja1tpXSklbW9kKSVtb2Q7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGFuczw8J1xuJzsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==