/*
赤裸裸的数学题 各种整体+插空 所以嘛 学好数学还是很重要的
ans=(n-1)!*(m-1)!*(2+(n-2)(n-1))
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define mod 100000007
#define ll long long
using namespace std;
ll n,m,a=,b=,c;
int main()
{
cin>>n>>m;c=(n-)*(n-)%mod;
for(int i=;i<=n-;i++)a=(a*i)%mod;
for(int i=;i<=m-;i++)b=(b*i)%mod;
cout<<a*b%mod*(+c)%mod;
return ;
}

最新文章

  1. GridView的使用(高度封装,不怎么灵活,repeat可替代)
  2. ES6标准
  3. MYSQL #1064错误
  4. 【BZOJ】1303: [CQOI2009]中位数图(特殊的技巧)
  5. Guid.NewGuid().ToString()的几种格式
  6. Raspberry Pi3 ~ 搭建开发环境
  7. 【解决】该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)
  8. BZOJ1657: [Usaco2006 Mar]Mooo 奶牛的歌声
  9. 轻松学会多线程(四)——synchronized同步keyword知多少
  10. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二
  11. java socket 多线程网络传输多个文件
  12. MarkDown 学习笔记
  13. JavaSE学习入门
  14. 大数据学习系列之五 ----- Hive整合HBase图文详解
  15. MVC简单随笔
  16. 如何调用wasm文件?
  17. adb logcat查看某个进程的输出日志
  18. vue-element-dialog使用
  19. JavaScript 实现 标签页 切换效果
  20. 杂项:ORM

热门文章

  1. MPICH2在两台Ubuntu上安装(用mpd做进程管理)
  2. jQuery banner 滑动
  3. css 雪碧图 及jquery定位代码
  4. php开发中的url地址传输加密解密函数
  5. PHP mysql 删除表中所有数据只保留一条
  6. jquery 操纵 cookies 插件(1)
  7. 由于权限不足而无法读取配置文件出现的HTTP 500.19解决办法
  8. 浅谈iOS视频播放的N种解决方案
  9. SpringMVC入门2-注解开发
  10. 等待事件--db file sequential read