Досадување

Емил е еден од најдобрите асистенти на ФИНКИ. За подобро да го разберат, Емил често презентира голем број на задачи, а понекогаш истите ги решава и по неколку пати. За да биде сигурен дека сите студенти го научиле потребниот материјал, Емил организира и дополнителни часови по неговиот предмет, како и редовни консултации.

Сепак, подобрите студенти, кои најчесто го разбираат материјалот уште на почетокот од часот, понекогаш се досадуваат додека Емил решава исти или слични задачи. За да си го направат часот интересен, тие смислиле игра со стапчиња и многуаголници, и истата ја играат во тек на часот.

Значи, едниот студент ги има кај себе стапчињата (вкупно S). Секое стапче е нумерирано со различен број (почнувајќи со 1, па 2, па 3, до S), кој го разликува тоа стапче од останатите. Вториот студент побарува N стапчиња (според бројот запишан на нив, на пример, ако барал три стапчиња: 2, 4 и 5) и од нив се обидува да состави многуаголник со N страни.


За да се утврди веројатноста да успее вториот студент, потребно е да се пресмета на колку начини може да се изберат N стапчиња од кои може да се состави многуаголник со N страни?

Напишете програма која ќе го решава проблемот.



Влез

Во првата линија се запишани два цели броја S и N (3 <= N <= S <= 30), кои го означуваат бројот на стапчиња S, и бројот на стапчиња кои се избираат за со нив да се состави многуаголник, соодветно.

Во следната линија се запишани S цели броеви Li (1 <= Li <= 1 000 000 000), каде Li ја означува должината на i-тото стапче. На i-тото стапче (почнувајќи од 1, па 2, итн), е запишан бројот i.

Забелешка: Во тест случаи кои ќе носат најмалку 30% од поените, ќе важи 3 <= N <= S <= 18.



Излез

Отпечатете го бараниот број на начини.



Ограничувања

Временско ограничување: 1 second
Мемориско ограничување: 64 megabytes



Примери


влез
5 3
3 3 6 6 100
излез
2


влез
5 5
2 2 2 2 2


излез
1


влез
4 4
1 100 3 1000


излез
0


Објаснување за првиот пример: Имаме 5 стапчиња - првото (означено со број 1) има должина 3, второто има должина 3, третото има должина 6, четвртото има должина 6 и петтото има должина 100. Постојат два начини да се состави многуаголник со N=3 страни, или конкретно, триаголник: користејќи ги стапчињата со број 1, 3 и 4 (и должини 3, 6 и 6); или користејќи ги стапчињата со број 2, 3 и 4 (и должини 3, 6 и 6). Не може да се состави триаголник користејќи ги стапчињата со број 1, 2 и 3, на пример, бидејќи не е можно да се состави триаголник со страни 3, 3 и 6 (пробајте да го нацртате тој триаголник, ако не ви е јасно зошто не може!). Услов за формирање на триаголник е збирот на должините на било кои две страни да е поголем од должината на третата страна, што тука не е случај.



 Submit your code