#include <bits/stdc++.h>
using namespace std;
const int N = 210, B = 1e9 + 7;
int n;
long long x[N], y[N], d[N][N];
bool fl[N][N];
long long cross(long long x, long long y, long long xx, long long yy) {
  return x * yy - xx * y;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%lld%lld", x + i, y + i);
  x[n] = x[0];
  y[n] = y[0];
  long long area = 0;
  for (int k = 0; k < n; ++k) area += cross(x[k], y[k], x[k + 1], y[k + 1]);
  if (area < 0) {
    reverse(x, x + n + 1);
    reverse(y, y + n + 1);
  }
  for (int i = 0; i < n; ++i) {
    d[i][i + 1] = 1;
  }
  for (int k = 2; k < n; ++k) {
    for (int i = 0; i + k <= n; ++i) {
      int b = i + k;
      for (int j = i; j <= b; ++j) {
        if (cross(x[i] - x[j], y[i] - y[j], x[b] - x[j], y[b] - y[j]) < 0)
          d[i][b] = (d[i][b] + d[i][j] * d[j][b] % B) % B;
      }
    }
  }
  printf("%lld\n", d[0][n - 1]);
  return 0;
}
