It seems like you can get all the flag by inputting the length of the current character. It could take a lot, so I crafted this script:

#!/usr/bin/python3.8
from pwn import *
 
def get_index(p, answer, i):
    p.sendline(f"{i}")
    answers = []
    answer = str(p.recvuntil(b'Which character (index) of the flag do you want? Enter an index: '))
    answer = answer.split("\\n")[0].split(":")[1]
    answers.append(answer)
    return "".join(answers)
 
p = remote('83.136.254.37', '54611')
rcv = str(p.recvuntil(b'Which character (index) of the flag do you want? Enter an index: '))
answers = []
p.sendline(b'1')
answer = str(p.recvuntil(b'Which character (index) of the flag do you want? Enter an index: '))
answer = answer.split("\\n")[0].split(": ")[1]
answers.append(answer)
answer = ''
 
try:
    for i in range(180):
        answer += get_index(p, answer, i)
 
except:
    flag = answer.strip().replace(" ", "")  # Delete spaces
    success(f"Flag: {flag}")
    sys.exit(0)