# 雑提出(通らない) N = int(input()) S = [ord(a) - 65 for a in input()] T = [ord(a) - 65 for a in input()] inf = 10 ** 9 null, m, lm, rm, lrm, mlrm, rmlrm, lmlrm,lrmlrm = 0, inf, inf, inf, inf, inf, inf, inf, inf for i in range(1, N - 1): nnull, nm, nlm, nrm, nlrm, nmlrm, nrmlrm, nlmlrm, nlrmlrm = inf, inf, inf, inf, inf, inf, inf, inf, inf if S[i] == T[i]: nnull = min(null, m, lm) if S[i-1] == S[i+1]: nmlrm = min(rm, lrm, rmlrm, lrmlrm) + 2 nlrmlrm = min(mlrm, lmlrm) + 2 else: nrmlrm = min(rm, lrm, rmlrm, lrmlrm) + 2 nlmlrm = min(mlrm, lmlrm) + 2 else: if S[i-1] == S[i+1]: nm = min(null, rm, lrm) + 1 nlrm = min(m, lm, mlrm, lmlrm) + 1 else: nlm = min(m, lm, mlrm, lmlrm) + 1 nrm = min(null, rm, lrm) + 1 null, m, lm, rm, lrm, mlrm, rmlrm, lmlrm, lrmlrm = nnull, nm, nlm, nrm, nlrm, nmlrm, nrmlrm, nlmlrm, nlrmlrm ans = min((null, m, lm)) print(ans if ans < inf else -1)