using System;
using System.Linq;
public class Test
{
private static int? SwapMax(int n)
{
var a = n.ToString().ToCharArray();
var c = a.Max();
var i = Array.IndexOf(a, c);
if (i == 0) return null;
a[i] = a[i-1];
a[i-1] = c;
return int.Parse(new String(a));
}
public static void Main()
{
foreach (var n in new int[] {23, 32, 4056, 4056456, 8, 99, 89, 98, 103})
Console.WriteLine("{0} => {1}", n, SwapMax(n));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKICBwcml2YXRlIHN0YXRpYyBpbnQ/IFN3YXBNYXgoaW50IG4pCiAgewogICAgdmFyIGEgPSBuLlRvU3RyaW5nKCkuVG9DaGFyQXJyYXkoKTsKICAgIHZhciBjID0gYS5NYXgoKTsKICAgIHZhciBpID0gQXJyYXkuSW5kZXhPZihhLCBjKTsKICAgIGlmIChpID09IDApIHJldHVybiBudWxsOwogICAgYVtpXSA9IGFbaS0xXTsKICAgIGFbaS0xXSA9IGM7CiAgICByZXR1cm4gaW50LlBhcnNlKG5ldyBTdHJpbmcoYSkpOwogIH0KCQogIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICB7CiAgICBmb3JlYWNoICh2YXIgbiBpbiBuZXcgaW50W10gezIzLCAzMiwgNDA1NiwgNDA1NjQ1NiwgOCwgOTksIDg5LCA5OCwgMTAzfSkKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoInswfSA9PiB7MX0iLCBuLCBTd2FwTWF4KG4pKTsKICB9Cn0=