#YDP03. 配对

配对

题目描述

NN 名男性和 NN 名女性,分别编号为 1,2,,N1, 2, \ldots, N。男性 ii 和女性 jj 之间的相容性由整数 ai,ja_{i,j} 给出。如果 ai,j=1a_{i,j} = 1,则表示他们相容;如果 ai,j=0a_{i,j} = 0,则表示他们不相容。

你需要为相容的男女组成 NN 对,使得每名男性和每名女性都恰好属于一个对。

请问有多少种方法可以组成 NN 对?答案对 109+710^9 + 7 取模。

输入格式

输入按以下形式从标准输入给出:

NN a1,1  a1,Na_{1,1} \ \ldots \ a_{1,N} :: aN,1  aN,Na_{N,1} \ \ldots \ a_{N,N}

输出格式

输出组成 NN 对的方法数对 109+710^9 + 7 取模的结果。

3
0 1 1
1 0 1
1 1 1
3

数据规模与约定

  • 1  N  211\ \leq\ N\ \leq\ 21
  • ai, ja_{i,\ j} 只有可能为 0011