(坑)
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 105
#define inf 0x7fffffff
using namespace std;
int dp[N][N],ans[N];
char a[N],b[N];
int n;
int main(){
while(~scanf("%s%s", a + 1, b + 1)){
n = strlen(a + 1);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
if(i <= j)
dp[i][j] = inf;
memset(ans, 127, sizeof(ans));
for(int i = 1; i <= n; i++)
dp[i][i] = 1;
for(int l = 2; l <= n; l++)
for(int i = 1; i + l - 1<= n; i++){
int j = i + l - 1;
dp[i][j] = dp[i + 1][j] + 1;
for(int k = i + 1; k <= j; k++)
if(b[i] == b[k])
dp[i][j] = min(dp[i][j], dp[i + 1][k] + dp[k + 1][j]);
}
ans[0] = 0;
for(int i = 1; i <= n; i++){
if(a[i] == b[i])
ans[i] = ans[i - 1];
else
for(int j = 0; j < i; j++)
ans[i] = min(ans[i], ans[j] + dp[j + 1][i]);
}
printf("%d\n", ans[n]);
}
return 0;
}