class Permutations {
static def list = []
public static void printPermutation(char[] a, int startIndex, int endIndex) {
if (startIndex == endIndex)
list << ((new String(a)) as Integer)
else {
for (int x = startIndex; x < endIndex; x++) {
swap(a, startIndex, x)
printPermutation(a, startIndex + 1, endIndex)
swap(a, startIndex, x)
}
}
}
private static void swap(char[] a, int i, int x) {
char t = a[i]
a[i] = a[x]
a[x] = t
}
}
def n = 7876541
def cArray = n.toString().toCharArray()
Permutations.printPermutation(cArray, 0, cArray.size())
println Permutations.list.findAll { it.mod(2) == 0}?.max()
Y2xhc3MgUGVybXV0YXRpb25zIHsKICBzdGF0aWMgZGVmIGxpc3QgPSBbXQogIHB1YmxpYyBzdGF0aWMgdm9pZCBwcmludFBlcm11dGF0aW9uKGNoYXJbXSBhLCBpbnQgc3RhcnRJbmRleCwgaW50IGVuZEluZGV4KSB7CiAgICBpZiAoc3RhcnRJbmRleCA9PSBlbmRJbmRleCkKICAgICAgICBsaXN0IDw8ICgobmV3IFN0cmluZyhhKSkgYXMgSW50ZWdlcikKICAgIGVsc2UgewogICAgICAgIGZvciAoaW50IHggPSBzdGFydEluZGV4OyB4IDwgZW5kSW5kZXg7IHgrKykgewogICAgICAgICAgICBzd2FwKGEsIHN0YXJ0SW5kZXgsIHgpCiAgICAgICAgICAgIHByaW50UGVybXV0YXRpb24oYSwgc3RhcnRJbmRleCArIDEsIGVuZEluZGV4KQogICAgICAgICAgICBzd2FwKGEsIHN0YXJ0SW5kZXgsIHgpCiAgICAgICAgfQogICAgfQogIH0KICBwcml2YXRlIHN0YXRpYyB2b2lkIHN3YXAoY2hhcltdIGEsIGludCBpLCBpbnQgeCkgewogICAgY2hhciB0ID0gYVtpXQogICAgYVtpXSA9IGFbeF0KICAgIGFbeF0gPSB0CiAgfQoKfQpkZWYgbiA9IDc4NzY1NDEKZGVmIGNBcnJheSA9IG4udG9TdHJpbmcoKS50b0NoYXJBcnJheSgpClBlcm11dGF0aW9ucy5wcmludFBlcm11dGF0aW9uKGNBcnJheSwgMCwgY0FycmF5LnNpemUoKSkKcHJpbnRsbiBQZXJtdXRhdGlvbnMubGlzdC5maW5kQWxsIHsgaXQubW9kKDIpID09IDB9Py5tYXgoKQ==