import itertools
def next_largest_number(input_number):
number = list(map(int, str(input_number)))
n = set(list(itertools.permutations(number, len(str(input_number)))))
list_res = []
for numbers in n:
res = ''
for i in numbers:
res += str(i)
if not res.startswith('0'):
list_res.append(int(res))
list_res.sort()
return list_res[list_res.index(input_number) +1]
print(next_largest_number(2134))
print(next_largest_number(1234))
print(next_largest_number(1243))
print(next_largest_number(234765))
print(next_largest_number(19000))
aW1wb3J0IGl0ZXJ0b29scwoKZGVmIG5leHRfbGFyZ2VzdF9udW1iZXIoaW5wdXRfbnVtYmVyKToKICAgIG51bWJlciA9IGxpc3QobWFwKGludCwgc3RyKGlucHV0X251bWJlcikpKQogICAgbiA9IHNldChsaXN0KGl0ZXJ0b29scy5wZXJtdXRhdGlvbnMobnVtYmVyLCBsZW4oc3RyKGlucHV0X251bWJlcikpKSkpCiAgICBsaXN0X3JlcyA9IFtdCiAgICBmb3IgbnVtYmVycyBpbiBuOgogICAgICAgIHJlcyA9ICcnCiAgICAgICAgZm9yICBpIGluIG51bWJlcnM6CiAgICAgICAgICAgIHJlcyArPSBzdHIoaSkKICAgICAgICBpZiBub3QgcmVzLnN0YXJ0c3dpdGgoJzAnKToKICAgICAgICAgICAgbGlzdF9yZXMuYXBwZW5kKGludChyZXMpKQogICAgbGlzdF9yZXMuc29ydCgpCiAgICByZXR1cm4gbGlzdF9yZXNbbGlzdF9yZXMuaW5kZXgoaW5wdXRfbnVtYmVyKSArMV0KCnByaW50KG5leHRfbGFyZ2VzdF9udW1iZXIoMjEzNCkpCnByaW50KG5leHRfbGFyZ2VzdF9udW1iZXIoMTIzNCkpCnByaW50KG5leHRfbGFyZ2VzdF9udW1iZXIoMTI0MykpCnByaW50KG5leHRfbGFyZ2VzdF9udW1iZXIoMjM0NzY1KSkKcHJpbnQobmV4dF9sYXJnZXN0X251bWJlcigxOTAwMCkp