#include<bits/stdc++.h>
using namespace std;
vector<int> next(vector<int> &A)
{
    int n=A.size();
    int index=-1;
    for(int i=n-2;i>=0;i--)
    {
        if(A[i]<A[i+1])
        {
            index=i;
            break;
        }
    }
    for(int i=n-1;i>=0;i--)
    {
        if(A[i]>A[index])
        {
            swap(A[i],A[index]);
            break;
        }
    }
    return A;
}
int main()
{
    vector<int> A={2,1,5,4,3,0,0};
    vector Ans=next(A);
    for(int i=0;i<A.size();i++)
    {
        cout<<Ans[i]<<" ";
    }
}