Qruplaşdırma tapşırığı
Müxtəliflik n tam ədəddən ibarətdir. İstənilən k fərqli elementdən bir qrup yarada bilərsiniz. İki qrup, ən azı bir fərqli elementə sahib olduqda fərqli hesab olunur. Məsələn, əgər 4 element a, b, c, d varsa və iki elementdən ibarət qruplar yaratmalısınızsa, mümkün qruplar ab, ad, bc, cd olacaq. Qrup sistemini verilmiş k üçün tam hesab edəcəyik, əgər qrupların sayı mümkün olan maksimum sayda olarsa. Məsələn, əvvəlki nümunə üçün {ab, bc, cd, bd, ad, ac} tam qrup sistemi olacaq.
Tam qrup sisteminin rahatlığını aşağıdakı şəkildə hesab edəcəyik:
Hər bir qrup sistemə öz töhfəsini verir – qrupdakı ədədlərin hasilatı;
Bütün qrupların töhfələri toplanır;
Sistemin rahatlığı ümumi töhfənin mod m-ə bərabərdir, burada m məhdudlaşdırıcı parametrdir.
Bizim nümunəmizdə k = 2 üçün rahatlıq F[2]
= (ab + bc + cd + bd + ad + ac) mod m. k = 1 üçün rahatlıq F[1]
= (a + b + c + d) mod m.
Sizdən maksimum rahatlığa malik tam qrup sistemini tapmaq tələb olunur.
Giriş məlumatları
Hər bir test n (2 ≤ n ≤ 1000) və m (1 ≤ m < 2^31
) təbii ədədləri ilə başlayır. Növbəti sətir n təbii ədəd ehtiva edir, hər biri 1000-dən çox deyil. Son test n = m = 0 ehtiva edir və işlənmir.
Çıxış məlumatları
Hər bir test üçün ayrıca sətirdə bütün tam qrup sistemləri arasında maksimum rahatlıq dəyərini çıxarın.