#include<cstring>
#include<cstdio>
using namespace std;
#define MOD 1000000007
typedef long long ll;
ll F[16][16][16][16][16][6];
ll f(int a,int b,int c,int d,int e,int pre)
{
if(F[a][b][c][d][e][pre]!=-1) return F[a][b][c][d][e][pre];
if((!a)&&(!b)&&(!c)&&(!d)&&(!e)) return F[a][b][c][d][e][pre]=1;
ll res=0;
if(a) res=(res+((ll)(a-(pre==2))*f(a-1,b,c,d,e,1))%MOD)%MOD;
if(b) res=(res+((ll)(b-(pre==3))*f(a+1,b-1,c,d,e,2))%MOD)%MOD;
if(c) res=(res+((ll)(c-(pre==4))*f(a,b+1,c-1,d,e,3))%MOD)%MOD;
if(d) res=(res+((ll)(d-(pre==5))*f(a,b,c+1,d-1,e,4))%MOD)%MOD;
if(e) res=(res+((ll)e*f(a,b,c,d+1,e-1,5))%MOD)%MOD;
return F[a][b][c][d][e][pre]=res;
}
int n,a[16];
int main()
{
int x;
scanf("%d",&n);
for(;n;--n)
{
scanf("%d",&x);
++a[x];
}
memset(F,-1,sizeof(F));
printf("%d\n",(int)f(a[1],a[2],a[3],a[4],a[5],-1));
}

最新文章

  1. placehoder不兼容ie9以下和opero12以下
  2. ios基础篇(二十一)—— UIImagePickerController类
  3. Javascript 面向对象编程
  4. Image.FrameDimensionsList 属性-----具体使用案例
  5. Mongodb中更新的学习小结
  6. Spark源码分析之Spark Shell(下)
  7. 安装WIA组件
  8. OpenGL+OpenCV实现立方体贴图
  9. 芝麻HTTP:TensorFlow LSTM MNIST分类
  10. 三、编辑 Update set
  11. Android EditText常用属性
  12. 命令:curl
  13. 开源框架 ImageLoader +ListView+GridView+RecyclerView 浅解
  14. 【Ansible 文档】提示、推荐、注意事项
  15. 洛谷 P2317 [HNOI2005]星际贸易 解题报告
  16. ios中uitableview上拉刷新和下拉刷新(1)
  17. Xcode 快捷键及代码格式化
  18. js将时间戳转化为日期格式
  19. Java内存原型分析:基本知识
  20. nagios监控redis

热门文章

  1. 文件格式转换神器-pandoc
  2. 如何使用Navicat恢复数据库脚本
  3. Codeforces Round #520 (Div. 2) C. Banh-mi
  4. 使用MAT分析内存泄露
  5. 无线路由器中WMM/Short GI/AP隔离各是什么功能, 开启时PC无法ping通手机.
  6. shell浅谈之三for、while、until循环【转】
  7. (五)对linux内核中jiffies+Hz表示一秒钟的理解
  8. codevs 1018 [noip 2000 提高] 单词接龙
  9. Android6.0获取运行时权限
  10. hdu 1348(凸包)