P23519 [AtCoder] Electric Board
普及
题目描述

Problem Statement

An electric bulletin board is showing a string S of length N consisting of 0 and 1.
You can do the following operation any number of times, where S_i denotes the $i-th character (1 \leq i \leq N)$ of the string shown in the board.

Operation: choose a pair of integers $(l, r) (1 \leq l < r \leq N)$ satisfying one of the conditions below, and swap S_l and S_r.

  • S_l= 0 and $S_{l+1}=\cdots=S_r= 1$.
  • $S_{l}=\cdots=S_{r-1}= 1$ and S_r= 0.

Determine whether it is possible to make the string shown in the board match T, and find the minimum number of operations needed if it is possible.

Input

Input is given from Standard Input in the following format:
N
S
T

Output

If it is impossible to make the board show the string T, print -1.
If it is possible, find the minimum number of operations needed.

Constraints

  • $2 \leq N \leq 500000$
  • S is a string of length N consisting of 0 and 1.
  • T is a string of length N consisting of 0 and 1.

Sample Input 1

7
1110110
1010111

Sample Output 1

2

Here is one possible way to make the board show the string 1010111 in two operations:

  • Do the operation with (l, r) = (2, 4), changing the string in the board from 1110110 to 1011110.
  • Do the operation with (l, r) = (4, 7), changing the string in the board from 1011110 to 1010111.

Sample Input 2

20
11111000000000011111
11111000000000011111

Sample Output 2

0

The board already shows the string T before doing any operation, so the answer is 0.

Sample Input 3

6
111100
111000

Sample Output 3

-1

If there is no sequence of operations that makes the board show the string T, print -1.

Sample Input 4

119
10101111011101001011111000111111101011110011010111111111111111010111111111111110111111110111110111101111111111110111011
11111111111111111111111111011111101011111011110111110010100101001110111011110111111111110010011111101111111101110111011

Sample Output 4

22

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
7 1110110 1010111
样例输出
2