12
12 3
zazasqzqsasq
1 1
z
1 1
a
15 4
abccbaabccbazaa
16 8
cadjfdsljfdkljds
6 2
baazaa
6 3
bosszb
6 1
qwerty
7 7
daaaaaa
14 2
acabcbdeffewzd
18 6
zzzzzzzzzzzzyyyyyz
9 4
aabaabbbc

zazasqzqsasq
z
a
-1
cbbbbbbbbccccccc
baazbz
bpbbpp
qwerty
ddddddd
acabcbdeffexdx
zzzzzzzzzzzzzzzzzz
-1

#include <bits/stdc++.h>

using namespace std;
int t2, cnt[26];
int main(){
    cin >> t2;
    while(t2--){
        int n, k;
        string s;
        cin >> n >> k >> s;
        fill(cnt, cnt + 26, 0);
        for(int i = 0; i < s.size(); i++){
            cnt[int(s[i] - 'a')]++;
        }
        if(n % k != 0){
            cout << -1 << endl;
            continue;
        }
        bool em = 1;
        for(int j = 0; j < 26; j++){
            if(cnt[j] % k != 0){
                em = 0;
                break;
            }
        }
        if(em){
            cout << s << '\n';
        }
        else{
            for(int i = n - 1; i >= 0; i--){
                cnt[int(s[i] - 'a')]--;
                bool ok = 0;
                for(int j = int(s[i] - 'a') + 1; j < 26; j++){
                    int kol = 0;
                    cnt[j]++;
                    for(int t = 0; t < 26; t++){
                        kol += ((k - (cnt[t] % k)) % k);
                    }
                    if(kol <= n - i - 1){
                        string ans;
                        for(int t = 0; t < i; t++){
                            ans += s[t];
                        }
                        int oct = (n - i - 1) - kol;
                        ans += char('a' + j);
                        for(int t = 1; t <= oct; t++){
                            ans += 'a';
                        }
                        for(int t = 0; t < 26; t++){
                            int san = ((k - (cnt[t] % k)) % k);
                            for(int o = 1; o <= san; o++){
                                ans += char('a' + t);
                            }
                        }
                        cout << ans << '\n';
                        ok = 1;
                        break;
                    }
                    cnt[j]--;
                }
                if(ok){
                    break;
                }
            }
        }
    }
}
