{"code":"matching","name":"Đếm cặp \"hợp nhau\"","description":"Có $N$ người đàn ông và $N$ người phụ nữ, được đánh số $1,2,3,...,N$\r\n\r\nVới mỗi $i,j(1\\le i,j\\le N)$, độ \"hợp nhau\" của người đàn ông thứ $i$ và người phụ nữ thứ $j$ được kí hiệu bởi $a_{i,j}$. Người đàn ông thứ $i$ \"hợp\" với người phụ nữ thứ $j$ nếu $a_{i,j}=1$, ngược lại $a_{i,j}=0$.\r\n\r\n$Kaninho$ muốn tạo ra $N$ cặp \"hợp nhau\". Trong đó, mỗi người đàn ông và mỗi người phụ nữ phải thuộc về chính xác một cặp.\r\n\r\nTìm số cách mà $Kaninho$ có thể tạo ra $N$ cặp hợp nhau, vì đáp án có thể lớn, nên cần phải lấy mod $10^9+7$ trước khi in ra.\r\n\r\n#### Input\r\n\r\n+ Dòng thứ nhất chứa số nguyên $N(1\\le N\\le 21)$\r\n\r\n+ $N$ dòng tiếp theo, mỗi dòng chứa $N$ số nguyên $a_{i,1},a_{i,2},...,a_{i,N}(1\\le i\\le N,a_{i,j}\\in \\left\\{0,1\\right\\})$\r\n\r\n#### Output\r\n- In ra giá trị cần tìm\r\n#### Example\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        3\r\n        0 1 1\r\n        1 0 1\r\n        1 1 1 \r\n        ```\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        3\r\n        ```\r\n    ??? warning \"Note\"\r\n        $3$ cách thỏa mãn yêu cầu bài toán đó là :\r\n\r\n        + $(1,2),(2,1),(3,3)$\r\n\r\n        + $(1,2),(2,3),(3,1)$\r\n\r\n        + $(1,3),(2,1),(3,2)$","points":600.0,"partial":false,"time_limit":2.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}