23 lines
No EOL
500 B
Python
23 lines
No EOL
500 B
Python
import sys
|
|
|
|
data = sys.stdin.read().split()
|
|
a, b = data[0], data[1]
|
|
n = len(a)
|
|
st = a + "#" + b + b
|
|
total_len = len(st)
|
|
z = [0] * total_len
|
|
l, r = 0, 0
|
|
ans = -1
|
|
for i in range(1, total_len):
|
|
if i <= r:
|
|
z[i] = min(r - i + 1, z[i - l])
|
|
while i + z[i] < total_len and st[z[i]] == st[i + z[i]]:
|
|
z[i] += 1
|
|
if i + z[i] - 1 > r:
|
|
l = i
|
|
r = i + z[i] - 1
|
|
if n + 1 <= i < 2 * n + 1:
|
|
if z[i] == n:
|
|
ans = i - (n + 1)
|
|
break
|
|
print(ans) |