#include <bits/stdc++.h>
using namespace std;
const int N = 210, mod = 1000000007;
bool crs(int x1, int y1, int x2, int y2) {
  return (1ll * x1 * y2 - 1ll * x2 * y1) > 0;
}
int dp[N][N];
int x[N], y[N], n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < (int)n; i++) scanf("%d%d", x + i, y + i);
  long long s = 0;
  for (int i = 0; i < (int)n; i++)
    s += 1ll * x[i] * y[(i + 1) % n] - 1ll * y[i] * x[(i + 1) % n];
  if (s > 0) reverse(x, x + n), reverse(y, y + n);
  for (int d = 1; d < (int)n; d++)
    for (int i = 0; i < (int)n - d; i++) {
      int j = i + d;
      if (d == 1)
        dp[i][j] = 1;
      else
        for (int k = i + 1; k < (int)j; k++)
          if (crs(x[k] - x[i], y[k] - y[i], x[k] - x[j], y[k] - y[j]))
            dp[i][j] = (dp[i][j] + 1ll * dp[i][k] * dp[k][j]) % mod;
    }
  printf("%d\n", dp[0][n - 1]);
}
