#include<stdio.h>
#include<stack>
#include<string.h>
using namespace std;
//A<B>C;
stack <int> S1,S2;
int Abs(int x){
return x>0? x:-x;
}
int main(){
int i;
char str1[5001],str2[5001];
while(~scanf("%s%s",str1,str2)){
if(strlen(str1)!=strlen(str2)){
printf("-1\n");
continue;
}
/*
size
push
pop
top
empty
*/
while(!S1.empty()) S1.pop();
while(!S2.empty()) S2.pop();
for(i=0;str1[i];i++){
if(str1[i]=='+')
S1.push(i);
}
for(i=0;str2[i];i++)
if(str2[i]=='+')
S2.push(i);
if(S1.size()!=S2.size()) {
printf("-1\n");
continue;
}
int cnt=0;
while(!S1.empty()){
int tmp1=S1.top();
int tmp2=S2.top();
S1.pop();
S2.pop();
cnt+=Abs(tmp1-tmp2);
}
printf("%d\n",cnt);
}
return 0;
}