|
||||||||||
Defense Against WolvesTime Limit: 7000/3500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 129 Accepted Submission(s): 31 Problem Description Long long ago, there lived a lot of rabbits in the forest. Unfortunately, there were some wolves in the same forest. The rabbit kingdom was attacked by those wolves sometimes and they planned to defend against the wolves. For each wolves' attack, the rabbit king would choose some rabbits(at least four rabbits) to make a defense team. We can regard each rabbit as a point in the three dimensional space. In the kingdom, there were no four rabbits stayed on a same plane. During each attack, the number of wolves which would be killed was exactly equal to the number of rabbits which are ON the 3D convex hull of the defense team. All defense teams should be different. But two different teams might share some rabbits. If the rabbit king couldn't choose a defense team any more, the rabbit kingdom would be destroyed. Now the wolves want to calculate the number of wolves which would be killed if they wanted to destroy the rabbit kingdom. Input The input consists at most 50 test cases. For each test case, the first line contains a integer n (4 <=n <= 50) denoting the number of rabbits. The following n lines each contains three integers x, y, z (-1000 <= x, y, z <= 1000) denoting the coordinate of a rabbit. All rabbits' positions are different. Output For each test case, output one line containing the answer modulo 109+7. Sample Input
Sample Output
Hint For the first case, the king could choose only one defense team. For the second case, the available defense teams are {1,2,3,4,5}, {1,2,3,4}, {1,3,4,5}, {1,2,3,5}, {2,3,4,5}, {1,2,4,5}, and the number of rabbits which are on the 3d convex hull of those teams are all 4 and the answer is 6 * 4 = 24 Source | ||||||||||
|