Сравнение чисел в списке, находящимся в списке python
Цель программы, создать из списка чисел комбинации определённой длины (b), так что бы комбинация выполняла следующие условие a(n)>a(n+1) (n это индекс числа в комбинации). Для выполнения данного задания, я создал данную программу.
import itertools
b=int(input())
a = list(map(int, input().split()))
n=[]
for i in range(1,len(a)+1):
c=list(itertools.combinations(a,b))
for g in range(0,len(c)):
k=list(c[g])
n.append(k)
for j in range(0, len(n)-1):
for f in range(0, b):
for p in range(1, b-1):
if n[j][f] < n[j+1][p]:
del n[j]
Последний цикл из 3 for создан для проверки условия. j, n - это индекс списка с комбинацией в основном списке, где они хранятся, а f, p - это индекс числа в комбинации. Если условие не выполняется, то del n[j] удаляет комбинацию не выполняющую условие. Однако при запуске программа выдаёт
---> 22 if n[j][f] < n[j+1][p]:
23 del n[j]
IndexError: list index out of range
В чём заключается моя ошибка? Я уже разные способы перепробовал, может есть такой, который я не знаю.