#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
int a[50], b[50], cnt, flag;
char s1[1005], s2[1005];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
cnt=flag=0;
scanf("%s%s", s1, s2);
for(int i=0; i<strlen(s1); i++) a[s1[i]-97]++;
for(int i=0; i<strlen(s2); i++) b[s2[i]-97]++;
for(int i=0; i<50; i++) {
cnt+=min(a[i], b[i]);
if(a[i]==0 && b[i]>0) {
flag=1;
break;
}
}
if(flag) printf("-1");
else printf("%d", cnt);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaW50IGFbNTBdLCBiWzUwXSwgY250LCBmbGFnOwoJY2hhciBzMVsxMDA1XSwgczJbMTAwNV07CgltZW1zZXQoYSwgMCwgc2l6ZW9mKGEpKTsKCW1lbXNldChiLCAwLCBzaXplb2YoYikpOwoJY250PWZsYWc9MDsKCXNjYW5mKCIlcyVzIiwgczEsIHMyKTsKCWZvcihpbnQgaT0wOyBpPHN0cmxlbihzMSk7IGkrKykgYVtzMVtpXS05N10rKzsKCWZvcihpbnQgaT0wOyBpPHN0cmxlbihzMik7IGkrKykgYltzMltpXS05N10rKzsKCWZvcihpbnQgaT0wOyBpPDUwOyBpKyspIHsKCQljbnQrPW1pbihhW2ldLCBiW2ldKTsKCQlpZihhW2ldPT0wICYmIGJbaV0+MCkgewoJCQlmbGFnPTE7CgkJCWJyZWFrOwoJCX0KCX0KCWlmKGZsYWcpIHByaW50ZigiLTEiKTsKCWVsc2UgcHJpbnRmKCIlZCIsIGNudCk7CglyZXR1cm4gMDsKfQ==