#include <iostream>
#include <algorithm>
#include <queue>
#include <cstring>
#include <string>
#include <cstdlib>
#include <cstdio>
using namespace std;
const int maxn = 20 + 2;
const int maxP = 20000 + 20;
struct Predict {
int nPre; //n个预测
int rSort[maxn]; //n个人编号相对排序
int isOk; //正确否
} pre[maxn]; //围观人的预测
int n, m; //运动员n,围观人m
int ans; //预测的可能数
int predict[maxP][maxn];//正确的排名
int pre_o[maxn]; //一次正确的排名
bool used[maxn]; //标志数组
void input(); //输入
bool check();
void DFS(int n);
void solve();
//输入
void input()
{
memset(used, 0, sizeof(used));
scanf("%d%d", &n, &m);
for (int i = 0; i < m; i++) {
scanf("%d", &pre[i].nPre);