"""#include \n#include \n#include \nusing namespace std;\n\nint main() {\n int T;\n cin >> T;\n while (T--) {\n int n, q;\n cin >> n >> q;\n vector cards(n, -1); // 初始化卡片数组,所有数字均为-1\n for (int i = 0; i < q; i++) {\n int x, y;\n cin >> x >> y;\n cards[x-1] = y; // 将已填的卡片数字更新到数组中\n }\n \n vector dp(n+1, 0); // 动态规划数组,dp[i]表示以第i个数字结尾的最长上升子序列长度\n dp[1] = 1;\n for (int i = 2; i <= n; i++) {\n dp[i] = 1;\n for (int j = 1; j < i; j++) {\n if (cards[i-1] == -1 || cards[i-1] > cards[j-1]) {\n dp[i] = max(dp[i], dp[j] + 1);\n }\n }\n }\n \n int ans = 0;\n for (int i = 1; i <= n; i++) {\n if (dp[i] >= n-q) {\n ans++;\n }\n }\n \n cout << ans << endl;\n }\n return 0;\n}\n"""