Задача покер Python
Есть входной файл где записаны значения пяти карт, нужно чтобы по этим картам выдавалась комбинация, и вроде как с подсказками удалось написать код, но когда пытаюсь сделать инкремент 2 списка, выдает ошибку list index out of range, думаю, что в принципе подобного нельзя делать в питоне, поэтому и задаю вопрос, можно ли как-то исправить эту ошибку или надо полностью переписывать код как-то по другому?
a = []
file = open('input.txt','r')
a = file.readline().split()
b = []
a.sort()
li = len(a) - 2
for i in range(0, len(a)):
b[int(a[i]) - 1] += 1
i += 1
if len(b) - 1 == 5:
print("Impossible")
elif b[len(b)-1] == 4:
print("Four of a kind")
elif b[len(b) - 2] == 3:
while li >= 0:
if b[li] == 2:
print ("Full house")
li -= 1
break
else:
print("Three of a kind")
li -= 1
break
elif b[len(b) - 1] == 2:
while li >= 0:
if b[li] == 2:
print("Two pairs")
li -= 1
break
else:
print("One pair")
li -= 1
break
else:
for i in range(1,len(a)):
if a[i] - 1 != a[i-1]:
print ("Nothing")
i += 1
break
print ("Straight")