#18039. 推荐队列 (queue)

推荐队列 (queue)

Q老师是方圆百里内有名的大富哥,他时常会在一款叫"stem"的游戏平台中寻找自己想玩的游戏。

有一天stem平台根据Q老师的喜好为Q老师生成了一个推荐队列,推荐队列中有nn款游戏。Q老师在心中为每一款游戏打了一个只有他自己知道的分数。

之后Q老师反复浏览了这个推荐队列mm次,每次浏览,Q老师都会在心中定一个目标分数,然后选定两款分数不低于这个目标分数的游戏,将这两款游戏之间(包括这两款游戏)所有分数大于等于这个目标分数的游戏购买下来,出于对游戏开发者的尊敬,只要条件满足,他就会在不同的浏览中购买同一款游戏。

现在你获得了Q老师每次浏览的购买记录,你想知道Q老师至少为这些游戏分了几个等级。

Input

第一行:两个整数nnmm,表示一共有nn个游戏,Q老师浏览了mm次推荐队列,用空格隔开。 接下来mm行:每行第一个正整数aia_i,表示第ii次浏览购买了aia_i款游戏。接下来aia_i个从小到大的正整数表示购买的游戏编号,两个数字之间用空格隔开

Output

输出一个正整数,表示Q老师至少给游戏分了多少个等级。

Examples

【样例 1 输入】

4 3
2 1 4 
1 1 
3 1 3 4

【样例 1 输出】

3

【样例 1 解释】

在这个样例中,11号和44号游戏同一个等级,2233号游戏分别为两个与1144号不同的等级,此时满足条件且分出的等级数量最少。

【样例 2 输入】

7 6
2 4 7 
7 1 2 3 4 5 6 7 
1 4 
5 1 2 4 6 7 
5 1 2 4 6 7 
3 4 6 7

【样例 2 输出】

3

Notes

测试点编号 mm nn
121∼2 8\le 8
373∼7 500\le 500
8108∼10 1000\le 1000