Не могу придумать достаточно тестов к задаче, не проходит тест 8, перепробывал кучу разных тестов, но неверный так и не нашел

Петя и Вася — одноклассники и лучшие друзья, поэтому они во всём помогают друг другу. Завтра у них контрольная по математике, и учитель подготовил целых K вариантов заданий.

В классе стоит один ряд парт, за каждой из них (кроме, возможно, последней) на контрольной будут сидеть ровно два ученика. Ученики знают, что варианты будут раздаваться строго по порядку: правый относительно учителя ученик первой парты получит вариант 1, левый — вариант 2, правый ученик второй парты получит вариант 3 (если число вариантов больше двух) и т.д. Так как K может быть меньше чем число учеников N, то после варианта K снова выдаётся вариант 1. На последней парте в случае нечётного числа учеников используется только место 1.

Петя самым первым вошёл в класс и сел на своё любимое место. Вася вошёл следом и хочет получить такой же вариант, что и Петя, при этом сидя к нему как можно ближе. То есть между ними должно оказаться как можно меньше парт, а при наличии двух таких мест с равным расстоянием от Пети Вася сядет позади Пети, а не перед ним. Напишите программу, которая подскажет Васе, какой ряд и какое место (справа или слева от учителя) ему следует выбрать. Если же один и тот же вариант Вася с Петей писать не смогут, то выдайте одно число  - 1.

Формат ввода В первой строке входных данных находится количество учеников в классе 2 ≤ N ≤ 109. Во второй строке — количество подготовленных для контрольной вариантов заданий 2 ≤ K ≤ N. В третьей строке — номер ряда, на который уже сел Петя, в четвёртой — цифра 1, если он сел на правое место, и 2, если на левое.

Формат вывода Если Вася никак не сможет писать тот же вариант, что и Петя, то выведите  - 1. Если решение существует, то выведите два числа — номер ряда, на который следует сесть Васе, и 1, если ему надо сесть на правое место, или 2, если на левое. Разрешается использовать только первые N мест в порядке раздачи вариантов.

n = int(input())
k = int(input())
r = int(input())
m = int(input())
mass = []
var = 1
rad = 1
mest = 1
for i in range(n):
    if (i+1) % 2 == 0:
        mest = 2
    else:
        mest = 1
    mass.append([var, rad, mest])
    if (i + 1) % 2 == 0:
        rad = rad + 1
    var += 1
    if var > k:
        var = 1


mest_p = r*2 + (m-2) - 1

j = 0
x = n
a, b = 0, 0
while j != len(mass) - 1:
    if mass[mest_p][0] == mass[j][0]:
        if abs(mest_p - j) <= x and mest_p - j != 0:
            x = abs(mest_p - j)
            a, b = mass[j][1], mass[j][2]
    j = j + 1
if a == 0:
    print(-1)
else:
    print(a, b)

Ответы (0 шт):