#1398. COVER

Bộ nhớ: 256 MiB Thời gian: 500 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Nền nhà của bạn có một tấm thảm lớn, tuy nhiên nó đã bị dính N vết bẩn. Bạn quyết định mua một tấm lụa để che đi các vết bẩn này, tuy nhiên, lụa có giá rất cao, nên bạn sẽ mua một ít thuốc tẩy, đủ để xóa được K vết bẩn, số vết bẩn còn lại sẽ được phủ bởi tấm lụa.

Miếng lụa bạn sẽ mua phải là một hình chữ nhật. Gọi X là diện tích miếng lụa nhỏ nhất để bao phủ toàn bộ các vết bẩn ban đầu, do đã mua thuốc tẩy, bạn không muốn phải mua một miếng lụa có diện tích lớn như vậy nữa, tức là miếng lụa bạn phải mua để phủ kín các vết bẩn sau khi dùng thuốc tẩy để tẩy đi K vết bẩn phải nhỏ hơn X .

Hãy đếm số cách xóa đi K trong N vết bẩn, để số vết bẩn còn lại có thể được phủ bởi miếng lụa có diện tích nhỏ hơn diện tích cần thiết để phủ N vết bẩn ban đầu. Lưu ý rằng mọi miếng lụa khi đặt vào nền nhà đều phải có các cạnh song song với các trục.

Dữ liệu vào:

  • Dòng đầu gồm hai số nguyên N, K\ (1≤N≤1000,0≤k≤N) ;
  • N dòng sau, mỗi dòng có hai số nguyên x, y thể hiện toạn độ của các vết bẩn. (|x|,|y|≤10^5) .

Dữ liệu ra:

  • Số nguyên duy nhất là kết quả của bài toán (được in ra theo modulo 1000000007 ).

Ví dụ:

Dữ liệu vào:
5 2
0 1
3 3
2 0
0 3
2 3
Dữ liệu ra:
8

Giới hạn:

  • 30\% N,K≤16 .