#Минимальная мощность алфавита
from math import *
for n in range(1,2158+1):
    i = ceil(log2(n))
    ves_1_koda = ceil((i * 377) / 8 )
    if 23155 * ves_1_koda > 5536 * 1024:
        print(n)
        break

I = i * k 
I - объем
i - вес 1 символа
k - кол-во символов


N = 2**i
N - мощность алфавита
i - вес 1 символа


Если в задаче говорится "более 40 кб" - можно округлять в большую сторону
Если "не более 40 кб" - округляем строго в меньшую