题目描述
There are many segments and many points. For each pair of points, we get a segment between them. Calculate how many given segments contains the segment. If two points are in the same location, the result is how many given segments contains the point.
Note: Segment [1,10] contains the segment made by point 1 and point 10.
输入
Multi-testcase. An integer t indicate the number of test cases. t is less than 20.
For each test case, n and m ( 0 <= n <= 100000,0 <= m <= 500 ) indicate the number of segments and the number of points.
Following n lines, each line input two numbers a, b ( 0 <= a < b <= 100000 ) indicate the given segments.
Following m numbers, c ( 0 <= c <= 10^6 ) indicate all the points. All the points are given in non-decreasing order.
输出
For each test case, output the test case number formated as sample output. then output an m * m matrix. The jth column of the ith line indicate the result of point i and point j.
Print a blank line after each test case.
2
2 4
2 5
1 4
1 2 4 5
2 4
1 4
6 9
1 4 6 9
Case 1:
1 1 1 0
1 2 2 1
1 2 2 1
0 1 1 1
Case 2:
1 1 0 0
1 1 0 0
0 0 1 1
0 0 1 1