首先 如果产生进位的话是一定不对的,因为进位会给一个1,但是损失了10
然后可以按位直接考虑,转换成一个隔板法组合数问题
// Problem: E. Good Triples
// Contest: Codeforces - Codeforces Round 913 (Div. 3)
// URL: https://codeforces.com/contest/1907/problem/E
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N = 2e5+10;
ll c[25][25];void init()
{c[0][0] = 1;for(int i=1;i<=23;i++)for(int j=0;j<=i;j++){if(!j)c[i][j] = 1;else c[i][j] = c[i-1][j] + c[i-1][j-1];}
}void solve()
{int x;cin>>x;ll res = 1;while(x){int t = x%10;res*=c[t+2][2];x/=10;}cout<<res<<"\n";}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);init();int _;cin>>_;while(_--)solve();return 0;
}