#include <bits/stdc++.h>
using namespace std;
string findMinimumLength(string s,int k){
map<int,int>freq;
int n = s.size();
for(int i=0;i<n;i++){
freq[s[i]-'a']++;
}
vector<pair<int,int>>v;
for(auto i:freq){
v.push_back({i.second,i.first});
}
sort(v.begin(),v.end(),greater<pair<int,int>>());
string final = "";
int mx = max(k,(int)freq.size());
int m = v.size();
int cnt=0;
while(true){
for(int i=0;i<m;i++){
if(v[i].first>0){
final+=((v[i].second)+'a');
v[i].first--;
if(v[i].first==0){
cnt++;
}
}
}
if(m<mx){
for(int i=0;i<(mx-m);i++){
final+='#';
}
}
if(cnt==m){
break;
}
}
return final;
}
int main() {
// your code goes here
cout << findMinimumLength("aba",2)<< endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJpbmcgZmluZE1pbmltdW1MZW5ndGgoc3RyaW5nIHMsaW50IGspewogIG1hcDxpbnQsaW50PmZyZXE7CiAgaW50IG4gPSBzLnNpemUoKTsKICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgIGZyZXFbc1tpXS0nYSddKys7CiAgfQogIHZlY3RvcjxwYWlyPGludCxpbnQ+PnY7CiAgZm9yKGF1dG8gaTpmcmVxKXsKICAgIHYucHVzaF9iYWNrKHtpLnNlY29uZCxpLmZpcnN0fSk7CiAgfQogIHNvcnQodi5iZWdpbigpLHYuZW5kKCksZ3JlYXRlcjxwYWlyPGludCxpbnQ+PigpKTsKICBzdHJpbmcgZmluYWwgPSAiIjsKICBpbnQgbXggPSBtYXgoaywoaW50KWZyZXEuc2l6ZSgpKTsKICBpbnQgbSA9IHYuc2l6ZSgpOwogIGludCBjbnQ9MDsKICB3aGlsZSh0cnVlKXsKICAgIGZvcihpbnQgaT0wO2k8bTtpKyspewogICAgICBpZih2W2ldLmZpcnN0PjApewogICAgICAgIGZpbmFsKz0oKHZbaV0uc2Vjb25kKSsnYScpOwogICAgICAgIHZbaV0uZmlyc3QtLTsKICAgICAgICBpZih2W2ldLmZpcnN0PT0wKXsKICAgICAgICAgIGNudCsrOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgaWYobTxteCl7CiAgICAgIGZvcihpbnQgaT0wO2k8KG14LW0pO2krKyl7CiAgICAgICAgZmluYWwrPScjJzsKICAgICAgfQogICAgfQogICAgaWYoY250PT1tKXsKICAgICAgYnJlYWs7CiAgICB9CiAgfQogIHJldHVybiBmaW5hbDsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgljb3V0IDw8IGZpbmRNaW5pbXVtTGVuZ3RoKCJhYmEiLDIpPDwgZW5kbDsKCQoJcmV0dXJuIDA7Cn0=