题目描述
给出一个正整数序列 $[a_1\dots a_n]$ 以及定值 $k$,每次可以选择一个区间 $[l,r]\ (r-l+1\ge k)$,把这个区间内的 $a_i$ 除以二下取整。是否可能通过一些操作,把所有 $a_i$ 变成 $1$?
若能,求出一种操作次数最少的操作方案。
输入格式
本题有多组数据。
第一行是数据组数 $T$。$(1\le T\le 2000)$
每组数据中:
第一行两个正整数 $n,k$。$(1\le k\le n\le 10^4)$
接下来一行 $n$ 个正整数 $a_1\sim a_n$。$(1\le a_i\le 10^{15})$
同一个测试点内,所有数据中 $n$ 的和不超过 $2\times 10^4$。
输出格式
对于每组数据:
若无解,输出 -1
。
若有解,第一行输出最小操作次数 $m$。
接下来 $m$ 行每行两个正整数 $l,r$,代表对 $[l,r]$ 进行一次操作。
输入输出样例
样例输入
2
5 3
3 3 5 3 3
5 3
3 3 3 5 3
样例输出
2
1 3
3 5
-1