import sys, random input = lambda : sys.stdin.readline().rstrip() write = lambda x: sys.stdout.write(x+"\n"); writef = lambda x: print("{:.12f}".format(x)) debug = lambda x: sys.stderr.write(x+"\n") YES="Yes"; NO="No"; pans = lambda v: print(YES if v else NO); INF=10**18 LI = lambda : list(map(int, input().split())); II=lambda : int(input()); SI=lambda : [ord(c)-ord("a") for c in input()] def debug(_l_): for s in _l_.split(): print(f"{s}={eval(s)}", end=" ") print() def dlist(*l, fill=0): if len(l)==1: return [fill]*l[0] ll = l[1:] return [dlist(*ll, fill=fill) for _ in range(l[0])] n = int(input()) s = [c=="B" for c in input()] t = [c=="B" for c in input()] if s[0]==t[0] and s[n-1]==t[n-1]: s = [s[i]^s[i+1] for i in range(n-1)] t = [t[i]^t[i+1] for i in range(n-1)] n -= 1 for i in range(1,n,2): s[i] ^= 1 t[i] ^= 1 if sum(s)!=sum(t): ans = -1 else: ans = 0 sind = [i for i in range(n) if s[i]] tind = [i for i in range(n) if t[i]] for i in range(len(sind)): ans += abs(sind[i]-tind[i]) else: ans = -1 if ans==-1: print(-1) else: print(ans)