4860: [ZJOI2013] 话旧

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:2 Solved:1

Description

小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来。回来后,他发现世界大变样了。比丘兽究级进化,成了凤凰兽;金先生因为发了一篇 paper,一跃成为教授,也成为了银河队选拔委员会成员。

一日,小林与金教授聊天。金教授回忆起过去的岁月,那些年他学过的电路原理。他曾经对一种三角波很感兴趣,并且进行了一些探究。小林感到很好奇,于是金教授就将课题形式化地说了一遍。

有一定义在 [0,] 的连续函数 (),其中  是整数,满足 (0)=()=0,它的所有极值点在整数处取到,且 () 的极小值均是 0。对于任意的 0 到 1 间的整数 () 在 (,+1) 上是斜率为 1 或 1 的一次函数。

金先生研究的是,若他知道其中  个整点的函数值,那么:

  1. 有多少个函数满足条件?
  2. 满足条件的函数中,() 的最大值,最大能是多少?

小林思考了一下,便想出了很好的算法。那么作为经过多年训练的你呢?



	

	

Input

第一行包含两个用空格隔开的整数 ,。接下来  行,每行两个整数,表示  和 ()


Output

一行两个整数,分别对应两个问题的答案。考虑到第一问答案可能很大,你只要输出它除以 19940417 的余数。


Sample Input Copy

6 9
4 2
4 2
2 0
4 2
6 0
5 1
2 0
0 0
0 0

Sample Output Copy

1 2

HINT

  • 对于 10% 的数据,10
  • 对于 20% 的数据,50
  • 对于 30% 的数据,100100
  • 对于 50% 的数据,103103
  • 对于 70% 的数据,105
  • 另有 10% 的数据,=0
  • 对于 100% 的数据,$ 0 \leq N \leq 10^9$,0106