奶牛营地有 头()奶牛,编号为 。每头奶牛要么是营员,要么是教练。
将选择一个非空的奶牛子集去参加实地考察。如果第 头奶牛被选中,它将移动到数轴上的位置 (),其中数组 是严格递增的。
一个非空子集被称为好的,当且仅当对于每个被选中的营员,在其左侧(含)距离 () 单位内,都存在一个被选中的教练。求有多少个好子集?结果对 取模。
第一行包含两个整数 和 。
接下来的 行,每行包含两个整数 和 。 表示第 头奶牛将移动到的位置。 表示第 头奶牛是教练,而 表示第 头奶牛是营员。
保证 按严格递增顺序给出。
输出好子集的数量对 取模的结果。
6 1 3 1 4 0 6 1 7 1 9 0 10 0
11
20 24 3 0 14 0 17 1 20 0 21 0 22 1 28 0 30 0 32 0 33 1 38 0 40 0 52 0 58 0 73 0 75 0 77 1 81 1 84 1 97 0
13094
最后两头营员永远不能被选中。其他所有非空子集都是好的,只要当奶牛 被选中时,奶牛 也被选中。
翻译由 DeepSeek V3 完成