MOD = 998244353i64 read_line.to_i.times do puts solve() end def solve n = read_line.to_i xys = Array.new(n) { Tuple(Int64, Int64).from(read_line.split.map(&.to_i64)) } len = xys.map { |x, y| x ** 2 + y ** 2 } sum_len = len.sum % MOD ans = n.times.sum { |i| inv(len[i]) } % MOD ans *= sum_len ans %= MOD sum_re = 0i64 sum_im = 0i64 n.times do |i| div = inv(len[i]) sum_re += (xys[i][0] ** 2 - xys[i][1] ** 2) * div sum_re %= MOD sum_im += xys[i][0] * xys[i][1] * 2 % MOD * div sum_im %= MOD end ans -= sum_re ** 2 + sum_im ** 2 ans %= MOD ans += MOD if ans < 0 return ans end def inv(v : Int64) pow(v, MOD - 2) end def pow(v : Int64, p) ret = 1i64 while p > 0 if (p & 1i64) != 0 ret *= v ret %= MOD end v *= v v %= MOD p >>= 1 end ret end