#include <iostream>
#include <fstream>
#include <algorithm>
#include <string.h>
#define MOD 3210121
using namespace std;
ifstream fin ("iv.in");
ofstream fout ("iv.out");
int D[2][510][510];
int lng1,lng2,L,i,j,LUNGIME_TOTALA,sol;
char a[510],b[510];
int main(){
fin>>a+1;
fin>>b+1;
lng1 = strlen(a+1);
lng2 = strlen(b+1);
if(a[1]==a[lng1])
D[0][1][1] = 1;
if(b[1]==b[lng2])
D[0][0][0] = 1;
if(a[1]==b[lng2])
D[0][1][0] = 1;
if(b[1]==a[lng1])
D[0][0][1] = 1;
//cout<<D[0][0][1];
LUNGIME_TOTALA = lng1 + lng2;
for(L=2;L<=LUNGIME_TOTALA/2;L++){
for(i=0;i<=L && i<=lng1;i++)
for(j=0;j+i<=lng1 && j<=L;j++){
D[1][i][j]=0;
if(i>=1 && j>=1 && a[i]==a[lng1-j+1])
D[1][i][j]+=D[0][i-1][j-1];
if(i<L && j<L && b[L-i]==b[lng2-L+j+1])
D[1][i][j]+=D[0][i][j];
if(i>=1 && j<L && a[i]==b[lng2-L+j+1])
D[1][i][j]+=D[0][i-1][j];
if(i<L && j>=1 && b[L-i]==a[lng1-j+1])
D[1][i][j]+=D[0][i][j-1];
D[1][i][j]%=MOD;
}
for(i=0;i<=L;i++)
for(j=0;j<=L;j++)
D[0][i][j]=D[1][i][j];
}
if(LUNGIME_TOTALA%2){
for(i=0;i<lng1;i++){
sol+=D[1][i][lng1-i];
sol+=D[1][i][lng1-i-1];
sol%=MOD;
}
}
else
for(i=0;i<=lng1;i++){
sol+=D[1][i][lng1-i];
sol%=MOD;
}
fout<<sol;
return 0;
}