#B033. 集合的划分

集合的划分

题目描述

设S是一个具有n个元素的集合,S=⟨a1,a2,……,an⟩S=\langle a_1,a_2,……,a_n \rangle,现将S划分成k个满足下列条件的子集合S1,S2,……,SkS_1,S_2,……,S_k ,且满足:

1.Si≠∅S_i ≠ ∅

2.Si∩Sj=∅S_i ∩ S_j = ∅ (1≤i,j≤k,i≠j1≤i,j≤k,i≠j)

3.S1∪S2∪S3∪…∪Sk=SS_1 ∪ S_2 ∪ S_3 ∪ … ∪ S_k = S

则称S1,S2,……,SkS_1,S_2,……,S_k是集合S的一个划分。它相当于把S集合中的n个元素a1,a2,……,ana_1 ,a_2,……,a_n 放入kk个(0<k≤n<300<k≤n<30)无标号的盒子中,使得没有一个盒子为空。请你确定nn个元素a1,a2,……,ana_1 ,a_2 ,……,a_n 放入kk个无标号盒子中去的划分数S(n,k)S(n,k)。

输入

给出nn和kk。

输出

nn个元素a1,a2,……,ana_1 ,a_2 ,……,a_n 放入kk个无标号盒子中去的划分数S(n,k)S(n,k)。

样例

10 6
22827

来源

一本通在线评测