#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
pair<int,int> findlarge(vector<ll>& arr , int n){
ll largest=0 , secondlargest=0 , largestindex=-1;
for(int i=0;i<n;i++){
if(arr[i]>largest){
secondlargest=largest;
largest=arr[i];
largestindex=i;
}else if(arr[i]>secondlargest && arr[i]!=largest){
secondlargest=arr[i];
}
}
return {largestindex,secondlargest};
}
int main() {
vector<ll> arr={4,5,5,2,4};
int n=arr.size();
int step=0;
while(true){
int count=0;
pair<int,int> ok=findlarge(arr,n);
arr[ok.first]=ok.second;
for(int i=0;i<n-1;i++){
if(arr[i]!=arr[i+1]){
count++;
}
}
step++;
for(int i=0;i<n;i++){
cout<<arr[i];
}
cout<<endl;
if(count==0){
break;
}
}
cout<<step;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKCnBhaXI8aW50LGludD4gZmluZGxhcmdlKHZlY3RvcjxsbD4mIGFyciAsIGludCBuKXsKCQoJbGwgbGFyZ2VzdD0wICwgc2Vjb25kbGFyZ2VzdD0wICwgbGFyZ2VzdGluZGV4PS0xOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJaWYoYXJyW2ldPmxhcmdlc3QpewoJCQlzZWNvbmRsYXJnZXN0PWxhcmdlc3Q7CgkJCWxhcmdlc3Q9YXJyW2ldOwoJCQlsYXJnZXN0aW5kZXg9aTsKCQl9ZWxzZSBpZihhcnJbaV0+c2Vjb25kbGFyZ2VzdCAmJiBhcnJbaV0hPWxhcmdlc3QpewoJCQlzZWNvbmRsYXJnZXN0PWFycltpXTsKCQl9Cgl9CglyZXR1cm4ge2xhcmdlc3RpbmRleCxzZWNvbmRsYXJnZXN0fTsKfQoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8bGw+IGFycj17NCw1LDUsMiw0fTsKCWludCBuPWFyci5zaXplKCk7CglpbnQgc3RlcD0wOwoJd2hpbGUodHJ1ZSl7CgkJaW50IGNvdW50PTA7CgkJcGFpcjxpbnQsaW50PiBvaz1maW5kbGFyZ2UoYXJyLG4pOwoJCWFycltvay5maXJzdF09b2suc2Vjb25kOwoJCWZvcihpbnQgaT0wO2k8bi0xO2krKyl7CgkJCWlmKGFycltpXSE9YXJyW2krMV0pewoJCQkJY291bnQrKzsKCQkJfQoJCX0KCQlzdGVwKys7CgkJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY291dDw8YXJyW2ldOwoJICAgICB9CgkgICAgIGNvdXQ8PGVuZGw7CgkJaWYoY291bnQ9PTApewoJCQlicmVhazsKCQl9Cgl9CgkJY291dDw8c3RlcDsKCQoKCXJldHVybiAwOwp9