#P316. 集合的划分

集合的划分

题目描述

SS 是一个具有 nn 个元素的集合,Slanglea_1a_2a_nrangleS=\\langle a\_1,a\_2,……,a\_n \\rangle,现将 SS 划分成 kk 个满足下列条件的子集合 S_1S_2S_kS\_1,S\_2,……,S\_k,且满足:

11S_iS\_i ≠ ∅

22S_iS_j=∅S\_i ∩ S\_j = ∅            (1ijkij1≤i,j≤k,i≠j)

33S_1S_2S_3S_kSS\_1 ∪ S\_2 ∪ S\_3 ∪ … ∪ S\_k = S

则称 S_1S_2S_kS\_1,S\_2,……,S\_k 是集合 SS 的一个划分。它相当于把 SS 集合中的 nn 个元素 a_1a_2a_na\_1 ,a\_2,……,a\_n 放入 kk 个(0kn300<k≤n<30)无标号的盒子中,使得没有一个盒子为空。请你确定 nn 个元素 a_1a_2a_na\_1 ,a\_2 ,……,a\_n 放入 kk 个无标号盒子中去的划分数 S(n,k)S(n,k)

输入格式

给出 nnkk

输出格式

nn 个元素 a_1a_2a_na\_1 ,a\_2 ,……,a\_n 放入 kk 个无标号盒子中去的划分数 S(n,k)S(n,k)

样例

样例输入 1

10 6

样例输出 1

22827