衔尾蛇
题号:NC214948
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

光、对立和小红三个人在玩捉蛇游戏。
已知蛇有三种:红蛇、蓝蛇和绿蛇。蛇可以咬住自己的尾巴,形成衔尾蛇。每条蛇可以咬住自己的尾巴,也可以咬住别的蛇的尾巴。
一共有条红蛇,条蓝蛇,条绿蛇。她们想知道一共可以形成多少种不同的衔尾蛇的环?

注:蛇可以不用全部用完。

输入描述:

一行三个非负整数:

输出描述:

一个整数,为方案的数量。
示例1

输入

复制
1 1 1

输出

复制
8

说明

一条红蛇咬自己,一种方案。
一条蓝蛇咬自己,一种方案。
一条绿蛇咬自己,一种方案。
一条红蛇和一条蓝蛇互相咬对方的尾巴,一种方案。
一条红蛇和一条绿蛇互相咬对方的尾巴,一种方案。
一条绿蛇和一条蓝蛇互相咬对方的尾巴,一种方案。
三条蛇互相咬,红咬绿,绿咬蓝,蓝咬红,一种方案。
三条蛇互相咬,红咬蓝,蓝咬绿,绿咬红,一种方案。
一共8种方案。
示例2

输入

复制
1 0 0

输出

复制
1

说明

一条红蛇咬自己,显然只有这一种方案。
示例3

输入

复制
3 0 0

输出

复制
3

说明

一条红蛇咬自己,一种方案。
两条红蛇互相咬对方的尾巴,为一种方案。
三条红色互相咬,也是一种方案(1咬2的尾巴,2咬3的尾巴,3咬1的尾巴)

备注:

数据范围: