Помогите решить задание с функциями
Исполнитель Ландыш преобразует пару чисел, записанную на экране. У исполнителя Ландыш есть четыре команды:
- Прибавь к первому числу 3
- Умножь первое число на 4
- Прибавь ко второму числу 5
- Умножь второе число на 2
Первая из них увеличивает первое число из пары на 2, вторая – умножает его на 4. Третья команда увеличивает второе число из пары на 5, четвертая – умножает его на 2. Сколько различных пар взаимно простых чисел можно получить из пары чисел (2, 3) с помощью программы, которая состоит ровно из 5 команд? Пары, отличающиеся только перестановкой чисел, считать одинаковыми.
Мой код:
my_list = list()
def F(x, y, n):
if n == 5:
my_list.append((x, y))
return
elif n > 5:
return
else:
return F(x + 3, y, n + 1) or F(x * 4, y, n + 1) or F(x, y + 5, n + 1) or F(x, y * 2, n + 1)
F(2, 3, 0)
print(len(set(my_list)))
my_set = set(my_list)
count = 0
for i in my_set:
if i[::-1] in my_set:
count += 1
print(count)
print(len(my_set) - count)
Проблема в том, что правильный ответ: 103. Не понимаю, где у меня может быть ошибка. Прошу помощи