#include <bits/stdc++.h>   using namespace std;   int n, x[210], y[210], ans, dp[210][210];   long long S[210][210];   bool in[210][210][210];   int gogo(int x) {     if (x % n == 0) return n;     return x % n;   }   long long cp(int a, int b, int c) {     return 1LL * (x[a] - x[c]) * (y[b] - y[c]) -            1LL * (y[a] - y[c]) * (x[b] - x[c]);   }   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; i++) scanf( %d%d , &x[i], &y[i]);     for (int i = 1; i <= n; i++)       for (int j = i; j <= n; j++) {         for (int p = i + 1; p < j; p++) S[i][j] += cp(p, p + 1, i);       }     for (int i = 1; i <= n; i++)       for (int j = 1; j < i; j++) {         for (int p = gogo(i + 1); p != j; p = gogo(p + 1))           S[i][j] += cp(gogo(p), gogo(p + 1), i);       }     for (int i = 1; i <= n; i++)       for (int j = i + 1; j <= n; j++)         for (int p = j + 1; p <= n; p++)           if (abs(cp(j, p, i)) + abs(S[i][j]) + abs(S[j][p]) + abs(S[p][i]) ==                   abs(S[1][n]) &&               cp(j, p, i)) {             in[i][j][p] = true;           }     for (int i = 1; i <= n; i++) dp[i][i + 1] = 1;     for (int i = n; i; i--)       for (int j = i + 1; j <= n; j++)         for (int p = i + 1; p < j; p++)           if (in[i][p][j])             dp[i][j] = (dp[i][j] + 1LL * dp[i][p] * dp[p][j]) % 1000000007;     ans = dp[1][n];     printf( %d n , ans);   }   