def solve(N, S, T):
spos = []
tpos = []
diff = 0
for i in range(N):
if S[i] == 1:
spos.append(i)
diff += 1
if T[i] == 1:
tpos.append(i)
diff -= 1
if diff % 2 == 1:
return -1
if diff < 0:
return -1
tpos += [N] * N
spos.append(-1)
i = 0
j = 0
ret = 0
while i < len(spos) - 1:
if spos[i] < tpos[j]:
# spos_i should be deleted
next = spos[i + 1]
if next == -1:
return -1
ret += (next - spos[i])
i += 2
continue
ret += (spos[i] - tpos[j])
i += 1
j += 1
if j != len(tpos) - N:
return -1
return ret