Kod Permutasiyaları
Siz Hagworts-un riyaziyyat məktəbindən məzun olmaq üzrəsiniz və özünüzdən çox razısınız; bütün ağır işləriniz və səyləriniz nəhayət öz bəhrəsini verdi. Əksər işlərinizdə uğurlu olduğunuz üçün adətən sağlam məntiq və yaxşı riyaziyyatın carçısı olardınız. Lakin siz fərqlisiniz; yalnız gənc illərinizi gizli şəkildə kompüterlərdə işləyərək, təyin olunmuş rutin ev tapşırıqlarınızı sizin üçün yerinə yetirən kodlar yazmaqla kifayətlənmədiniz, son vaxtlar bütün riyaziyyat bacarıqlarınızı kompüterə yükləyərək riyaziyyatçıların ehtiyacını tamamilə aradan qaldırmağı planlaşdırmağa başladınız! Başqalarına nə qədər böyük bir vizyoner olduğunuzu göstərmək üçün məzuniyyət mərasiminizi onların heç vaxt unutmayacağı bir şeyə çevirməyi planlaşdırırsınız.
Bunu etmək üçün əzəli düşməniniz Hairy Peter-in seyfinə girməlisiniz. Seyf bir kod mexanizmi ilə kilidlənib: 1-dən N-ə qədər olan bütün təbii ədədlər Hairy Peter tərəfindən təyin edilmiş düzgün ardıcıllıqla daxil edilməlidir. Xoşbəxtlikdən, siz bilirsiniz ki, yaxşı bir riyaziyyatçı olan Hairy-nin müəyyən bir zəifliyi var; onun K sayına qarşı olduqca sağlam olmayan bir obsesiyası var. (Məsələn, o, yeni insanlarla tanış olanda özünü həmişə K dəfə təqdim etməlidir, bu da onun ətrafında olmağı olduqca bezdirici edir.) Beləliklə, siz əminsiniz ki, onun kodu, N ilk təbii ədədlərin bir permutasiyası kimi baxıldığında, dəqiq K sırasına malikdir. (yəni, K ən kiçik müsbət ədəddir ki, əgər siz K dəfə x ∈ {1,...,N} ədədi Hairy-nin kodundakı x mövqeyi ilə əvəz etsəniz, başladığınız x ilə nəticələnərsiniz, bütün x üçün. Məsələn, 2 3 1 koduna uyğun gələn permutasiyanın sırası 3-dür, çünki 1 → 3 → 2 → 1 və 2 → 1 → 3 → 2 və 3 → 2 → 1 → 3.) Bu, sizə birbaşa kömək etməsə də, doğru kodu tapmadan əvvəl sınamalı olduğunuz kod girişlərinin sayını xeyli azaldır. "Neçə?" bu anda düşündüyünüz sualdır. Seyfi sındırmaq üçün kifayət qədər vaxt hazırlamağı risk etməmək üçün dəqiq sayını bilməlisiniz.
İndi sizin də müəyyən bir riyaziyyat zəifliyiniz var - bəlkə də Hairy Peter-dən bir az daha pisdir: Riyaziyyat kompüterlərini proqramlaşdırmaq üçün qaranlıq planınıza görə, siz israr edirsiniz ki, imzalı 32-bit tam ədəd ilə təmsil edilə biləndən daha böyük ədədlər yoxdur, yəni P = 2^31 - 1. Əlbəttə ki, kompüterlərinizin saya bilmədiyi heç nə olmamalıdır. Əslində siz bu yuxarı həddi P o qədər çox sevirsiniz ki, yeni bir riyaziyyat yaratmağa qərar verdiniz, burada P 0-a bərabərdir. Ha, al bunu! (Yaxşı, siz tamamilə fərqindəsiniz ki, əslində sadəcə P modulu ilə sayırsınız, amma bu, P-i cəzalandırmaq üçün daha yaxşı yollar tapana qədər kifayət etməlidir.) Əslində bu sizin üçün olduqca üstünlükdür! Məsələn, yoxlamalı olduğunuz kod permutasiyalarının sayı 2^31 olarsa, əslində yoxlamalı olduğunuz yalnız bir permutasiya olacaq, çünki 2^31 mod P = 1. (Və ya ən azı siz belə düşünürsünüz...) Bu sadəcə möhtəşəmdir!
Giriş verilənləri
Giriş iki tam ədəddən ibarətdir: N (1 ≤ N ≤ 100) və K (1 ≤ K ≤ 2^31 - 1).
Çıxış verilənləri
N elementin K sırasına malik permutasiyalarının sayı, 2^31 - 1 modulu ilə.