#1601. 集合划分问题

集合划分问题

题目描述

n\red{n}个元素的集合{1,2,…,n}\red{\{1,2,…, n \}}可以划分为若干个非空子集。例如,当n=4\red{n=4} 时,集合{1,2,3,4}\red{\{1,2,3,4\}}可以划分为15\red{15} 个不同的非空子集如下:

$\red{\{\{1\},\{2\},\{3\},\{4\}\},\{\{1,2\},\{3\},\{4\}\}}$,

$\red{\{\{1,3\},\{2\},\{4\}\},\{\{1,4\},\{2\},\{3\}\}}$,

$\red{\{\{2,3\},\{1\},\{4\}\},\{\{2,4\},\{1\},\{3\}\}}$,

{{3,4},{1},{2}},{{1,2},{3,4}}\red{\{\{3,4\},\{1\},\{2\}\},\{\{1,2\},\{3,4\}\}},

{{1,3},{2,4}},{{1,4},{2,3}}\red{\{\{1,3\},\{2,4\}\},\{\{1,4\},\{2,3\}\}},

{{1,2,3},{4}},{{1,2,4},{3}}\red{\{\{1,2,3\},\{4\}\},\{\{1,2,4\},\{3\}\}},

{{1,3,4},{2}},{{2,3,4},{1}}\red{\{\{1,3,4\},\{2\}\},\{\{2,3,4\},\{1\}\}},

{{1,2,3,4}}\red{\{\{1,2,3,4\}\}}

其中,集合{{1,2,3,4}}\red{\{\{1,2,3,4\}\}}由1\red{1} 个子集组成;集合{{1,2},{3,4}}\red{\{\{1,2\},\{3,4\}\}},{{1,3},{2,4}}\red{\{\{1,3\},\{2,4\}\}},{{1,4},{2,3}}\red{\{\{1,4\},\{2,3\}\}},{{1,2,3},{4}}\red{\{\{1,2,3\},\{4\}\}},{{1,2,4},{3}}\red{\{\{1,2,4\},\{3\}\}},{{1,3,4},{2}}\red{\{\{1,3,4\},\{2\}\}},{{2,3,4},{1}}\red{\{\{2,3,4\},\{1\}\}}由2\red{2} 个子集组成;集合{{1,2},{3},{4}}\red{\{\{1,2\},\{3\},\{4\}\}},{{1,3},{2},{4}}\red{\{\{1,3\},\{2\},\{4\}\}},{{1,4},{2},{3}}\red{\{\{1,4\},\{2\},\{3\}\}},{{2,3},{1},{4}}\red{\{\{2,3\},\{1\},\{4\}\}},{{2,4},{1},{3}}\red{\{\{2,4\},\{1\},\{3\}\}},{{3,4},{1},{2}}\red{\{\{3,4\},\{1\},\{2\}\}}由3\red{3 }个子集组成;集合{{1},{2},{3},{4}}\red{\{\{1\},\{2\},\{3\},\{4\}\}}由4\red{4} 个子集组成。

编程任务:给定正整数n\red{n} 和m\red{m},计算出n\red{n} 个元素的集合{1,2,3,n}\red{\{1,2,3, n \}}可以划分为多少个不同的由m\red{m}个非空子集组成的集合(1<=n,m<=100\red{1<=n,m<=100})。

输入格式

文件的第1\red{1} 行是元素个数n\red{n}和非空子集数m\red{m}。

输出格式

程序运行结束时,计算出不同的由m\red{m}个非空子集组成的集合数。

样例

输入样例

4 3

输出样例

6