#include <bits/stdc++.h>
using namespace std;
long long m;
long long h1, a1, x1, Y1;
long long h2, a2, x2, y2;
int main() {
  cin >> m;
  cin >> h1 >> a1;
  cin >> x1 >> Y1;
  cin >> h2 >> a2;
  cin >> x2 >> y2;
  long long H1 = h1, H2 = h2;
  long long f1 = -1, f2 = -1;
  long long F1 = -1, F2 = -1;
  a1 %= m;
  a2 %= m;
  for (int i = 1; i <= m + 100; i++) {
    H1 = (x1 * H1 + Y1) % m;
    H2 = (x2 * H2 + y2) % m;
    if (H1 == a1 && f1 == -1) {
      f1 = i;
    }
    if (H2 == a2 && f2 == -1) {
      f2 = i;
    }
  }
  if (f1 == -1 || f2 == -1) {
    printf("-1\n");
    return 0;
  }
  if (f1 == f2) {
    printf("%d\n", f1);
    return 0;
  }
  H1 = a1;
  H2 = a2;
  for (int i = 1; i < m + 100; i++) {
    H1 = (x1 * H1 + Y1) % m;
    H2 = (x2 * H2 + y2) % m;
    if (H1 == a1 && F1 == -1) {
      F1 = i;
    }
    if (H2 == a2 && F2 == -1) {
      F2 = i;
    }
  }
  if (F1 == -1 && F2 != -1) {
    if (f2 > f1) {
      printf("-1\n");
      return 0;
    }
    if ((f1 - f2) % F2 != 0) {
      printf("-1\n");
      return 0;
    }
    cout << f1 << endl;
    return 0;
  }
  if (F2 == -1 && F1 != -1) {
    if (f1 > f2) {
      printf("-1\n");
      return 0;
    }
    if ((f2 - f1) % F1 != 0) {
      printf("-1\n");
      return 0;
    }
    cout << f2 << endl;
    return 0;
  }
  while (f1 < f2) f1 += F1;
  for (int i = 0; i < F2 + 100; i++) {
    if ((f1 - f2) % F2 == 0) {
      cout << f1 << endl;
      return 0;
    }
    f1 += F1;
  }
  printf("-1\n");
  return 0;
}
