int repeatedStringMatch(string A, string B) {
int a=A.size(),b=B.size(),cnt=1;
string t=A;
while(t.size()<b){
t=t+A;
cnt++;
}
if(t.find(B)!=string::npos) return cnt;
t+=A;
return (t.find(B)!=string::npos)?cnt+1:-1;
}
int repeatedStringMatch(string A, string B) {
string t=A;
for(int i=1;i<=B.size()/A.size()+2;i++){
if(t.find(B)!=string::npos) return i;
t=t+A;
}
return -1;
}
int repeatedStringMatch(string A, string B) {
int a=A.size(),b=B.size(),j=0;
for(int i=0;i<a;i++){
while(j<b&&A[(i+j)%a]==B[j]) j++;
if(j==b) return (i+j-1)/a+1;
j=0;
}
return -1;
}