#include <bits/stdc++.h>
using namespace std;
const int SZ = 222, MOD = 1000000007;
int dp[SZ][SZ], x[SZ], y[SZ], n;
bool ccw(int x1, int y1, int x2, int y2) {
  return ((1ll * (x1) * (y2)-1ll * (y1) * (x2)) < 0);
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d%d", x + i, y + i);
  long long area = 0;
  for (int i = 0; i < n; ++i)
    area += 1ll * x[i] * y[(i + 1) % n] - 1ll * y[i] * x[(i + 1) % n];
  if (area < 0) reverse(x, x + n), reverse(y, y + n);
  for (int d = 1; d < n; ++d)
    for (int i = 0, j = i + d; j < n; ++i, j = i + d) {
      if (d == 1) dp[i][j] = 1;
      for (int k = i + 1; k < j; ++k)
        if (ccw(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]);
}
