#include<bits/stdc++.h>
#include<string.h>
using namespace std;
int main(void){
	char a[1001],b[1001];
	int x,y,cnt;
	scanf("%s %s",a,b);
	x=strlen(b);  y=strlen(a);
	int dp[x][y],i,j,k;
	for(i=0;i<x;i++){
		for(j=0;j<y;j++) dp[i][j]=0;
	}
//printf("x=%d y=%d\n",x,y);
	for(i=0;i<y;i++){
		if(b[0]==a[i]) dp[0][i]=1;
//printf(" %d",dp[0][i]);
	}
//printf("\n");
	for(i=1;i<x;i++){
		for(j=i-1;j<y-1;j++){
			if(dp[i-1][j]>0){
//printf("j=%d ",j);	
				for(k=j+1;k<y;k++){
					if(b[i]==a[k])    dp[i][k]=(dp[i][k]+dp[i-1][j])%1000000007;
//printf(" %d",dp[i-1][j]);
				}
//printf("\n");
			}
/*for(k=0;k<y;k++)printf(" %d",dp[i][k]);
printf("\n");*/
		}
	}
/*for(i=0;i<x;i++){
	printf("%d ",i);
	for(j=0;j<y;j++) printf(" %d",dp[i][j]);
	printf("\n");
}*/
	cnt=0;
	for(i=0;i<y;i++) cnt=(cnt+dp[x-1][i])%1000000007;
	printf("%d\n",cnt);
	return 0;
}
