A. Майк, лягушка и цветок
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Майка есть лягушка и цветок. Его лягушку зовут Xaniar, а его цветок зовут Abol. Изначально (в момент времени 0), высота Xaniar равна h1 и высота Abol равна h2. Каждую секунду Mike поливает Abol и Xaniar.

Если сейчас высота Xaniar равна h1, а высота Abol равна h2, то через секунду высота Xaniar будет равна , а высота Abol будет равна , где x1, y1, x2 и y2 — некоторые целые числа, а обозначает остаток от целочисленного деления a на b.

Майк — фанат спортивного программирования. Он хочет знать через какое время высота Xaniar станет равна a1 и высота Abol станет равна a2 в первый раз.

Майк попросил Вас помочь ему. Вычислите минимальное время или же скажите, что требуемое событие никогда не произойдет.

Входные данные

В первой строке ввода записано целое число m (2 ≤ m ≤ 106).

Во второй строке ввода записаны целые числа, h1 и a1 (0 ≤ h1, a1 < m).

В третьей строке ввода записаны целые числа, x1 и y1 (0 ≤ x1, y1 < m).

В четвертой строка ввода записаны целые числа, h2 и a2 (0 ≤ h2, a2 < m).

В пяятой строке ввода записаны целые числа, x2 и y2 (0 ≤ x2, y2 < m).

Гарантируется, что h1 ≠ a1 и h2 ≠ a2.

Выходные данные

Выведите минимальное количество секунд, необходмое до того момента, как Xaniar достигнет высоты a1, а Abol достигнет высоты a2, а если же это никогда не произойдёт, выведите -1.

Примеры
Входные данные
5
4 2
1 1
0 1
2 3
Выходные данные
3
Входные данные
1023
1 2
1 0
1 2
1 1
Выходные данные
-1
Примечание

В первом тесте из условия высоты меняются следующим образом:

Xaniar:

Abol: