void vai(char *pre, char *em, int n) { if(n == 0) return; int c = pre[0]; int i = 0; while(em[i] != c) i++; vai(pre+1, em, i); vai(pre+1+i, em+i+1, n-1-i); putchar(c); }
int main() { int n; scanf(" %d", &n); for(int i = 0; i < n; i++) for(int j = 0; j < 3; j++) scanf(" %d", &ent[i][j]); for(int i = 0; i < n; i++){ for(int a = 0; a < MAX; a++) for(int b = 0; b < MAX; b++) mat[a][b] = 0.0; int k = 0; for(int j = 0; j < n; j++){ if(i == j) continue; for(int l = 0; l < 3; l++) mat[k][l] = 1.0 / ent[j][l] - 1.0/ent[i][l]; mat[k][k+3] = -1.0; k++; } printf("%s\n", (vai(n-1, n-1+3) ? "YES" : "NO")); } }
bool EarClipper::isInsideOfTriangle(Point2D a, Point2D b, Point2D c, Point2D i) { Vector2D vai(a, i); Vector2D vic(i, c); Vector2D vib(i, b); Vector2D vci(c, i); return ((vai.orientation(vic) < 0 && vai.orientation(vib) > 0 && vci.orientation(vib) < 0) || (vai.orientation(vic) > 0 && vai.orientation(vib) < 0 && vci.orientation(vib) > 0)); }
int main() { int casos; scanf(" %d", &casos); while(casos--){ int n; char s1[100], s2[100]; scanf(" %d %s %s", &n, s1, s2); vai(s1, s2, n); puts(""); } return 0; }
ll vai(int x, int k) { if(k == 1) return 1; ll &r = pd[x][k]; if(r != -1) return r; r = 0; for(int i = 1; i < k; i++){ int a = x-k-1; int b = k-i-1; r = (r + vai(k, i) * comb(a, b)) % MOD; } return r; }
bool vai(int ats, int nus, int k) { if(nus == k) return true; if(ats == MAX) return false; bool ant[MAX]; if(ns[ats] >= k) { int c = 0; for(int i = 0; i < MAX; i++) { ant[i] = comum[i]; comum[i] = comum[i] && mat[ats][i]; if(comum[i]) c++; } if(c >= k && vai(ats+1, nus+1, k)) return true; for(int i = 0; i < MAX; i++) comum[i] = ant[i]; } return vai(ats+1, nus, k); }
int main() { memset(pd, -1, sizeof pd); for(int i = 0; i < MAX; i++) cb[i][0] = cb[i][i] = 1; for(int i = 2; i < MAX; i++) for(int j = 1; j < i; j++) cb[i][j] = ((cb[i-1][j] + cb[i-1][j-1])%MOD); int casos, n; scanf(" %d", &casos); for(int h = 1; h <= casos; h++){ scanf(" %d", &n); ll r = 0; for(int i = 1; i <= n; i++) r += vai(n, i); r %= MOD; printf("Case #%d: %lld\n", h, r); } return 0; }
bool tenta(int k) { for(int i = 0; i < MAX; i++) comum[i] = true; return vai(0, 0, k); }