CF109D Lucky Sorting

题目描述

现在你有一个长度为$n$的数列,现在你要把他排成一个不递减的数列,想要交换两个数必须满足:其中至少有一个数是幸运数字. 这里对于幸运数字的定义是:只由$4$和$7$组成的数字,如:$47,744,4$,但是$5,17,467$就不是幸运数字. 如果不能达到要求,输出$-1$,否则输出任意一种交换方案,注意:你不需要最小化交换次数.

输入格式

第一行一个正整数$n$,第二行$n$个正整数,表示这个数列.

输出格式

- 如果不能达到要求,输出$−1$ - 如果可以,第一行输出一个$k$,表示交换次数,注意$0 \le k\le 2n$,接下来$k$行,每行两个正整数$i,j$,表示这一次交换$a_i,a_j$

说明/提示

$n \le 10^5$