N = gets.to_i S = N.to_s digits = Math.log10(N).ceil p [*0...digits].combination(2).inject(N){|r, (i, j)| s = S.dup s[i], s[j] = s[j], s[i] [r, s.to_i].max }