CF1215C.Swap Letters

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Monocarp has got two strings ss and tt having equal length. Both strings consist of lowercase Latin letters "a" and "b".

Monocarp wants to make these two strings ss and tt equal to each other. He can do the following operation any number of times: choose an index pos1pos_1 in the string ss , choose an index pos2pos_2 in the string tt , and swap spos1s_{pos_1} with tpos2t_{pos_2} .

You have to determine the minimum number of operations Monocarp has to perform to make ss and tt equal, and print any optimal sequence of operations — or say that it is impossible to make these strings equal.

输入格式

The first line contains one integer nn (1n2105)(1 \le n \le 2 \cdot 10^{5}) — the length of ss and tt .

The second line contains one string ss consisting of nn characters "a" and "b".

The third line contains one string tt consisting of nn characters "a" and "b".

输出格式

If it is impossible to make these strings equal, print 1-1 .

Otherwise, in the first line print kk — the minimum number of operations required to make the strings equal. In each of the next kk lines print two integers — the index in the string ss and the index in the string tt that should be used in the corresponding swap operation.

输入输出样例

  • 输入#1

    4
    abab
    aabb
    

    输出#1

    2
    3 3
    3 2
    
  • 输入#2

    1
    a
    b
    

    输出#2

    -1
    
  • 输入#3

    8
    babbaabb
    abababaa
    

    输出#3

    3
    2 6
    1 3
    7 8
    

说明/提示

In the first example two operations are enough. For example, you can swap the third letter in ss with the third letter in tt . Then $s = $ "abbb", $t = $ "aaab". Then swap the third letter in ss and the second letter in tt . Then both ss and tt are equal to "abab".

In the second example it's impossible to make two strings equal.

首页