#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==