#include using namespace std; bool cmp(int a, int b) { return a > b; } int main() { int n; cin >> n; int a[n+1]; for(int i = 1; i <= n; i++) cin >> a[i]; sort(a+1, a+n+1); int b[n+1]; for(int i = 1; i <= n; i++) b[i] = i; int ok = 1; while(ok) { for(int i = 1; i <= n; i++) { cout << a[b[i]] << ' '; } cout << endl; int k = n-1; while(k >= 1 && a[k] > a[k+1]) { k--; } if(k == 0) ok = 0; else { int j = n; while(a[j] < a[k]) { j--; } swap(a[j], a[k]); reverse(a+k+1, a+n+1); } } }