#include <stdio.h>
#include <string.h>
int checkSubString(char *str, char *substr);
int main() {
char s[301] = {0}, s1[11] = {0}, s2[11] = {0}, *p, *p1, *p2, zong[330] = {0};
int len = 0, len1 = 0, len2 = 0, i = 0, flag = 0, zuizuo = 1000, zuiyou = 0;
int a = 0, b = 0, c = 0, d = 0;
scanf("%s", &zong);
len = strlen(zong);
for (int i = 0; i < len; i++) {
if (zong[i] == ',')
a++;
if (zong[i] != ',' && a == 0) {
s[b] = zong[i];
b++;
} else if (zong[i] != ',' && a == 1) {
s1[c] = zong[i];
c++;
} else if (zong[i] != ',' && a == 2) {
s2[d] = zong[i];
d++;
}
}
s[b] = '\0';
s1[c] = '\0';
s2[d] = '\0';
p = s;
p1 = s1;
p2 = s2;
flag = checkSubString(s, s1) + checkSubString(s, s2);
if (flag != 2)
printf("-1");
else {
//判断最左边
while (*p != '\0') {
if (*p == *p1) {
p++;
p1++;
// zuizuo=p-s;
if (*p1 == '\0') {
zuizuo =p-s ;
break;
}
} else if (*p != *p1) {
p = p - (p1 - s1) + 1;
p1 = s1;
}
}
//判断最右边
while (*p != '\0') {
if (*p == *p2) {
p++;
p2++;
// zuizuo=p-s;
if (*p2 == '\0') {
if (p - s > zuiyou) {
zuiyou = p - s - (p2 - s2);
}
}
} else if (*p != *p2) {
p = p - (p2 - s2) + 1;
p2 = s2;
}
}
printf("%d\n", zuiyou - zuizuo);
}
return 0;
}
int checkSubString(char *str, char *substr) {
char *p1 = str, *p2 = substr;
while (*p1 != 0) {
if (*p1 == *p2) {
p1++;
p2++;
if (*p2 == 0)
return 1;
}
//回退
else {
p1 = p1 - (p2 - substr) + 1;
p2 = substr;
}
}
return 0;
}