Rikka with Triangles
时间限制:C/C++/Rust/Pascal 10秒,其他语言20秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Rikka places n points on a two-dimensional Cartesian coordinate system. The coordinate of the i-th point is (x_i,y_i) . She wants to choose three points to make a weapon, and then she will use it to fight against the administration of "invisible boundaries".

To make this weapon more powerful, Rikka restricts the shape of the triangle to acute triangles. There may be several legal plans to make the weapon. Rikka wants you to calculate the sum of the areas of the triangles among all these plans.

Two plans are considered different if and only if they differ in at least one point.

NOTE: You can use __int128 in your program.

输入描述:

The first line contains a single integer , the number of the test cases.

For each test case, the first line contain a single integer  , the number of the points. And then n lines follow, each line contains two integers x and y , the coordinates of a point. The input guarantees that no two points are identical.

输出描述:

Let S be the sum of the areas, it can be proved that  is an integer.
Since the answer may be very large, you only need to output  modulo 998244353 (a prime number).
示例1

输入

复制
3
3
1 1
2 2
2 3
3
1 1
2 3
3 2
4
1 1
3 1
4 1
2 3

输出

复制
0
3
10