#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i a[1010]; int main(void){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll i,j,k; ll N,K; cin >> N >> K; vector p(N+1,0); for(i=1;i<=N;i++) cin >> p[i]; vector c(N+1,0); for(i=1;i<=N-K;i++){ if(c[i]==1) break; for(j=i;j<=N;j+=K){ if((p[j]-i)%K!=0){ cout << -1 << endl; return 0; } a[i].push_back(j); c[j]=1; } } ll ans=0; vector

d; for(i=1;i<=N-K;i++){ vector v=a[i]; ll n=v.size(); for(k=0;kp[v[j+1]]){ d.push_back(P(v[j],v[j+1])); swap(p[v[j]],p[v[j+1]]); ans++; } } } } cout << ans << endl; REP(i,d.size()){ cout << d[i].first << ' ' << d[i].second << endl; } return 0; }