За голову Джона Уика опять назначена награда, и лидеры одного очень влиятельного клана решили во что бы то ни стало ее получить. В клане есть n оперативников, которые могут принять участие в охоте за целью. Поскольку всем известно, что Джон --- опасная цель, из множества оперативников было решено выбрать несколько групп размерами от 3 до k включительно.
Все n человек имеют в клане строгую иерархию в виде подвешенного дерева: самый опытный оперативник имеет номер 1, у каждого из остальных есть один непосредственный начальник p_i<i. У оперативников есть четкие правила, по которым они формируют группы. А именно, каждый оперативник готов быть в команде либо со своим непосредственным начальником, либо с несколькими своими непосредственными подчиненными, и больше ни с кем. Таким образом, любая команда будет состоять из какого-то оперативника с хотя бы двумя его непосредственными подчиненными.
Лидеры клана подозревают, что Джон заранее будет готов к большому количеству сценариев развития событий, поэтому им необходимо посчитать, сколько есть способов выбрать несколько непересекающихся групп оперативников, чтобы оценить, какие у них шансы.
Поскольку ответ на задачу может быть слишком большим, выведите его по модулю 109+7.
В первой строке ввода через пробел даны два целых числа n и k --- количество оперативников и максимальное количество человек в группе (1⩽n⩽2⋅105; 3⩽k⩽5).
В следующей строке через пробел перечислены целые числа p_2, \ldots, p_n --- номера непосредственных начальников оперативников со второго по n-го (1⩽p_i<i).
Выведите одно целое число --- количество способов разбить оперативников на группы размерами от 3 до k указанным образом по модулю 109+7.