#include #define FOR(i, l, r) for(int i = (l) ; i < (r); i++) #define REV(i, l, r) for(int i = (r) - 1; i >= (l); i--) #define INC0(i, n) FOR(i, 0, n) #define INC1(i, n) FOR(i, 1, (n) + 1) #define DEC0(i, n) REV(i, 0, n) #define DEC1(i, n) REV(i, 1, (n) + 1) typedef long long signed int LL; typedef long long unsigned int LU; int n, d[9]; int swap(int x, int y, int len) { int a[9]; INC0(i, len) { a[i] = d[i]; } int temp = a[x]; a[x] = a[y]; a[y] = temp; int ans = 0, p = 1; INC0(i, len) { ans += a[i] * p; p *= 10; } return ans; } int main() { scanf("%d", &n); int i = 0, t = n, len; while(t != 0) { d[i] = t % 10; t /= 10; i++; } len = i; int max = n; INC0(i, len) { INC0(j, i) { int s = swap(i, j, len); if(max < s) { max = s; } } } printf("%d\n", max); return 0; }