시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB2000.000%

문제

Юкка очень любит гадать по звездам, но небо часто бывает облачным, поэтому для гадания используется карта звездного неба. На карте нарисовано $N$ звезд. Для гадания необходимо выбрать некоторые $K$ звезд, и если многоугольник с вершинами в этих точках является выпуклым, то гадание считается успешным. Многоугольник является выпуклым, если все его вершины будут находиться по одну сторону относительно прямой, проходящей через каждую из его сторон, или на ней.

Пекка, наблюдая за гаданиями Юкки, захотел узнать, сколько различных выпуклых $K$-угольников можно построить, выбирая их вершины из заданных точек.

Ваша задача --- дать ответ на поставленный вопрос для  нескольких возможных значений $K$.

입력

В первой строке входного файла записаны два числа --- количество точек $N$ и количество рассматриваемых случаев  $L$ ($3 \le N \le 30$, $1 \le L \le N-2$). В следующих $N$ строках --- по два целых числа $X_i$, $Y_i$ --- координаты точек ($-10\,000 \le X_i, Y_i \le 10\,000$). Никакие три точки не лежат на одной прямой и не совпадают.

Требуется  подсчитать количество выпуклых многоугольников для $L$ различных значений числа $K$, перечисленных в последней строке. Все $L$ чисел --- целые положительные, каждое из которых не менее трех и не более $N$.

출력

В первой строке выведите через пробел $L$ чисел --- ответы для каждого из случаев.

예제 입력 1

5 3
0 0
4 4
0 4
4 0
2 3
3 4 5

예제 출력 1

10 3 0