#include constexpr int MAX_N = 200000 + 2; char s[MAX_N], t[MAX_N]; long long solve() { int n; scanf("%d%s%s", &n, s, t); if (s[0] != t[0]) { return -1; } int j = 1; long long ans = 0; for (int i = 1; i < n; i++) { if (i == j) { j += s[i] == t[i]; continue; } if (s[i] == s[i - 2]) { ans += i - (j++); s[i - 1] = 'A' + 'B' - s[i - 1]; } if (j < i && t[i] == t[i - 2]) { ans += i - (j++); t[i - 1] = 'A' + 'B' - t[i - 1]; } if (i == j) { j += s[i] == t[i]; } } return j < n ? -1 : ans; } int main() { printf("%lld\n", solve()); return 0; }