#include <iostream>#include <cmath>#include <algorithm>using namespace std;struct Node{ double x, y;}node[5];bool Cmp(const Node &a, const Node &b){ if(a.x == b.x) return a.y < b.y; return a.x < b.x;}double Distance(int i, int j){ return (node[i].x-node[j].x)*(node[i].x-node[j].x) + (node[i].y-node[j].y)*(node[i].y-node[j].y);}bool SameEdge(int i, int j, int k, int r){ double len1 = Distance(i, j); double len2 = Distance(j, k); double len3 = Distance(k, r); double len4 = Distance(r, i); double len23 = Distance(j, r); if(len1==len2 && len2==len3 && len3==len4 && len2+len3 == len23) return 1; return 0;}int main(){#ifndef ONLINE_JUDGE freopen("in", "r", stdin);#endif int nCase, t=0; cin >>nCase; while(nCase--){ for(int i=0; i<4; i++)cin >>node[i].x >>node[i].y; sort(node, node+4, Cmp); if(t++)cout <<endl; cout <<"Case " <<t <<":" <<endl; if(SameEdge(0, 1, 3, 2))cout <<"Yes" <<endl; elsecout <<"No" <<endl; } return 0;}