- #include<bits/stdc++.h> 
- using namespace std; 
- #define f(i,x,y) for(long long i = (x);i < (y);++i) 
- #define MOD 1000000007 
-   
-   
- int main() 
- { 
-     int T; 
-     cin >> T; 
-     while(T--) 
-     { 
-         string txt,pat; 
-         cin >> txt >> pat; 
-         int n = txt.size(),m = pat.size(); 
-         int arr[m]; 
-         map<char,int> mp; 
-         map<char,int> ::iterator it; 
-         f(i,0,m) 
-         { 
-             mp[pat[i]] = i; 
-             arr[i] = 0; 
-         } 
-   
-         for(int i = (n-1);i > -1;i--) 
-         { 
-             char ch = txt[i]; 
-             if(mp.find(ch) != mp.end()) 
-             { 
-                 int j = mp[ch]; 
-                 if(j == (m-1)) 
-                     arr[j]++; 
-                 else if(j < (m-1)) 
-                     arr[j] += arr[j+1]; 
-                 else 
-                     {;} 
-             } 
-         } 
-         //f(i,0,m) 
-         //cout << arr[i] << "-"; 
-         cout <<arr[0] << endl; 
-     } 
- } 
				I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmKGkseCx5KSBmb3IobG9uZyBsb25nIGkgPSAoeCk7aSA8ICh5KTsrK2kpCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKCgppbnQgbWFpbigpCnsKICAgIGludCBUOwogICAgY2luID4+IFQ7CiAgICB3aGlsZShULS0pCiAgICB7CiAgICAgICAgc3RyaW5nIHR4dCxwYXQ7CiAgICAgICAgY2luID4+IHR4dCA+PiBwYXQ7CiAgICAgICAgaW50IG4gPSB0eHQuc2l6ZSgpLG0gPSBwYXQuc2l6ZSgpOwogICAgICAgIGludCBhcnJbbV07CiAgICAgICAgbWFwPGNoYXIsaW50PiBtcDsKICAgICAgICBtYXA8Y2hhcixpbnQ+IDo6aXRlcmF0b3IgaXQ7CiAgICAgICAgZihpLDAsbSkKICAgICAgICB7CiAgICAgICAgICAgIG1wW3BhdFtpXV0gPSBpOwogICAgICAgICAgICBhcnJbaV0gPSAwOwogICAgICAgIH0KCiAgICAgICAgZm9yKGludCBpID0gKG4tMSk7aSA+IC0xO2ktLSkKICAgICAgICB7CiAgICAgICAgICAgIGNoYXIgY2ggPSB0eHRbaV07CiAgICAgICAgICAgIGlmKG1wLmZpbmQoY2gpICE9IG1wLmVuZCgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgaiA9IG1wW2NoXTsKICAgICAgICAgICAgICAgIGlmKGogPT0gKG0tMSkpCiAgICAgICAgICAgICAgICAgICAgYXJyW2pdKys7CiAgICAgICAgICAgICAgICBlbHNlIGlmKGogPCAobS0xKSkKICAgICAgICAgICAgICAgICAgICBhcnJbal0gKz0gYXJyW2orMV07CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgezt9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9mKGksMCxtKQogICAgICAgIC8vY291dCA8PCBhcnJbaV0gPDwgIi0iOwogICAgICAgIGNvdXQgPDxhcnJbMF0gPDwgZW5kbDsKICAgIH0KfQ==