#P15748. 方城快桥

方城快桥

题目描述

规划师 Nora 负责评估一座方形城市的新交通方案。这座城市由 k×kk\times k 个方格组成,每个方格中恰好有一户居民。

居民可以从一个方格走到与它有公共边的相邻方格,每走一步需要 11 单位时间。

为了缩短通勤时间,政府决定修建 nn 座快桥。每座快桥连接两个方格 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2),并满足 x1x2x_1\ne x_2y1y2y_1\ne y_2。通过快桥从一端到另一端所需时间为

x1x2+y1y21.|x_1-x_2|+|y_1-y_2|-1.

现在需要评估快桥建成后的城市效率。请计算所有不同方格对之间的最短距离之和。由于答案可能很大,请输出它对 998244353998244353 取模后的结果。

输入格式

第一行包含两个整数 n,kn,k,分别表示快桥数量和城市边长。

接下来 nn 行,每行包含四个整数 x1,y1,x2,y2x_1,y_1,x_2,y_2,表示一座连接 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2) 的快桥。

保证所有四元组 (x1,y1,x2,y2)(x_1,y_1,x_2,y_2) 两两不同。

输出格式

输出一行一个整数,表示答案。

数据范围

  • 0n5000\le n\le 500
  • 2k1092\le k\le 10^9
  • 1x1<x2k1\le x_1<x_2\le k
  • 1y1,y2k1\le y_1,y_2\le k
  • y1y2y_1\ne y_2

样例 1

输入

2 2
1 1 2 2
1 2 2 1

输出

6

解释

在这个样例中,任意两个不同方格之间的最短距离都是 11,因此总和为 66

样例 2

输入

0 1000000000

输出

916520226

样例 3

输入

5 5
1 1 3 3
3 3 5 1
3 3 4 5
3 3 5 4
1 5 3 3

输出

946