#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;
}