def palindrom():
    number = str(input())
    if len(number) == 1:
    if number == "9":
        return "11"
    else:
        return str(int(number)+1)
else:
    if len(number) % 2 == 0:
        slicer = int(len(number) / 2)
        a, b, c = int(number[:slicer]),int(number[slicer:][::-1]), []
    else:
        slicer = int((len(number) -1) / 2)
        a, b, c = int(number[:slicer]), int(number[slicer+1:][::-1]), [int(number[slicer])]
if a > b:
    if len(c) == 0:
        return str(a) + str(a)[::-1]
    else:
        return str(a) + str(c[0]) + str(a)[::-1]
elif a == b or a < b:
    if len(c) == 0:
        new_a = a + 1
        if len(str(new_a)) == len(str(a)):
            return str(new_a) + str(new_a)[::-1]
        else:
            return str(new_a) + str(new_a)[:-1][::-1]
    else:
        new_a = int(str(a) + str(c[0]))
        new_x = new_a + 1
        if len(str(new_x)) == len(str(new_a)):
            return str(new_x) + str(new_x)[:-1][::-1]
        else:
            return str(new_x) + str(new_x)[:-2][::-1]
i = int(input())
j = 0
while j < i:
    print(palindrom())
    j = j + 1

I'm geting time out in this code. Can any of you point out which is the time consuming part here?