#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
int a, N, A[100005];
int gp(int N, int *A) {
  if (N == 1) return 0;
  int z = 0, S = 0;
  for (int i(0); i < N; i++) z += !A[i];
  if (!*A) return N - z;
  double g = A[1] / (double)*A, l = A[1];
  for (int k(2); k < N; k++)
    if ((l * g + (1e-10) > A[k] && l * g - (1e-10) < A[k]))
      l = A[k];
    else
      ++S;
  return S;
}
int main(void) {
  scanf("%d", &N), ga(N, A), a = gp(N, A);
  if (a < 2) return printf("%d\n", a), 0;
  a = gp(N - 1, A + 1);
  if (!a) return puts("1");
  swap(A[1], *A), a = gp(N - 1, A + 1);
  if (!a) return puts("1");
  puts("2");
  return 0;
}
