{"trustable":false,"sections":[{"title":"","value":{"format":"MD","content":"Mubashwir returned home from the contest and got very angry after seeing his room dusty. Who likes to see a dusty room after a mind boggling programming contest? After searching a bit he found an old toothbrush in his room. Since the dusts are scattered everywhere, he is a bit confused what to do. So, he called Shakib. Shkib said that, \u0027Use the brush recursively and clean all the dust, I am cleaning my dust in this way!\u0027\n\nMubashwir got even more confused, because it\u0027s just a tooth brush. He decided to move the brush in a straight line to remove dusts on the way and repeat the process until the room is clean. Assume that the tooth brush only removes the dusts which lie on the path. But as it\u0027s just a tooth brush, he can move the brush in any direction. He considers a **move** as driving the tooth brush in a straight line and removing the dusts in the line.\n\nNow he wants to find the minimum number of moves to remove all dusts. You can assume that dusts are defined as **2D** points, and if the brush touches a point, it\u0027s cleaned. His head is a bit messy because of the contest and he is seeking your help."}},{"title":"Input","value":{"format":"MD","content":"Input starts with an integer **T (\u0026le; 500)**, denoting the number of test cases.\n\nEach case starts with a blank line. The next line contains an integer **N (1 \u0026le; N \u0026le; 16)**. **N** means that there are **N** dust points. Each of the next **N** lines will contain two integers **x\u003csub\u003ei\u003c/sub\u003e y\u003csub\u003ei\u003c/sub\u003e** denoting the coordinate of a dust unit. You can assume that **(-1000 \u0026le; x\u003csub\u003ei\u003c/sub\u003e, y\u003csub\u003ei\u003c/sub\u003e \u0026le; 1000)** and all points are distinct."}},{"title":"Output","value":{"format":"MD","content":"For each case print the case number and the minimum number of moves."}},{"title":"Sample","value":{"format":"MD","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2\n\n3\n0 0\n1 1\n2 2\n\n3\n0 0\n1 1\n2 3\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eCase 1: 1\nCase 2: 2\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}