猫狗站队
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

LCX非常喜欢猫狗(当然不喜欢恶犬),一天夜里,他梦到自己成为了喵星人和汪星人的统帅,在这里,他指挥着无数的喵汪!
LCX准备组建一个"喵汪方阵",他从汪星人中挑选出中华田园犬、边牧、柴犬这3;他又从喵星人中挑出橘猫。虽然LCX是他们的统帅,但是这些狗狗之间有一些奇怪的脾气
所有的狗都不喜欢自己身边有与自己相同的品种;但是这些猫的包容性比较大,可以与任何猫狗相处融洽。(猫狗列队组成的方阵中,相邻指的是上下左右四个方向,而不是八个方向)
已知方阵规格为nm列。LCX想要知道总共有多少种可能的方案,聪明的你请帮助LCX计算一下吧!


输入描述:

输入一行,两个整数n(1 ≤ n ≤ 4), m (1 ≤ m ≤ 8)

输出描述:

输出一个整数表示可能的方案数
示例1

输入

复制
2 1

输出

复制
13

说明

三种狗分别比作1, 2, 3,猫用4表示。那么只能出现以下情况:
12 13 14 21 23 24 31 32 34 41 42 43 44这13种情况,因为1与1不和,2与2不和,3与3不和