P0468

[Nerrc1997]Puncher打孔机

[Nerrc1997]Puncher打孔机

打孔机是一种在票上打孔的装置。假设票是一个 M×NM\times N 的矩阵,矩阵行列间距相等,你可以选择在 M×NM\times N 个位置上打穿或不打穿,这样就有 2M×N−12^{M\times N}-1 种不同的方案(至少要打一个孔)。

但是我们的问题并不是这么简单的。如果两种方案经过如下的若干操作后,打穿的孔刚好重合,那么认为这两个方案是相同的:

  • 翻转;
  • 旋转 0∘0^\circ、90∘90^\circ、180∘180^\circ、270∘270^\circ;
  • 平行移动。

显然,如果两种方案上孔的数目不同,那么必然是不同的方案。

现在你的问题就是给定 M,NM, N,算出所有不同的方案数。

输入格式

一行两个数 M,NM, N,用空格分开。

输出格式

只有一行,为所求的方案数。

样例输入

3 3

样例输出

85

数据范围

  • M≤6M\le 6;
  • N≤10N\le 10。

来源与许可

本题为 NERRC 1997 试题「Puncher 打孔机」,题面与测试数据整理自 BZOJ 1479。

样例 1

输入

3 3

输出

85