问题3307--Judge Segments

3307: Judge Segments

[命题人 : ]
时间限制 : 6.000 sec  内存限制 : 64 MB

题目描述

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.

样例输入 Copy

2
2 4
2 5
1 4
1 2 4 5
2 4
1 4
6 9
1 4 6 9

样例输出 Copy

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