[ZJOI2013]话旧

题目描述

小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来。回来后, 他发现世界大变样了。比丘兽究级进化,成了凤凰兽;金先生因为发了一篇 paper, 一跃成为教授,也成为了银河队选拔委员会成员。一日,小林与金教授聊天。金教授回忆起过去的岁月,那些年他学过的电路 原理。他曾经对一种三角波很感兴趣,并且进行了一些探究。小林感到很好奇, 于是金教授就将课题形式化地说了一遍。有一定义在[0,N]的连续函数 f(x),其中 N是整数,满足 f(0)=f(N)=0,它的所有极值点在整数处取到,且 f(x)的最小值均是 0。对于任意的 0 到N-1间的整数 I ,f(x)在(I, I+1)上是斜率为 1 或-1 的一次函数。金先生研究的是,若他知道其中K 个整点的函数值,那么:(1)有多少个函数满足条件?(2)满足条件的函数中,max f(x)最大能是多少? 小林思考了一下,便想出了很好的算法。那么作为经过多年训练的你呢?

输入输出格式

输入格式


第一行包含2个用空格隔开的整数N,K 。接下来K行,每行2个整数,表示x[i]和f(x[i])。

输出格式


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

输入输出样例

输入样例 #1

2 0

输出样例 #1

1 1

输入样例 #2

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

输出样例 #2

1 2

说明

数据范围: 对于10%的数据,N≤10。 对于20%的数据,N≤50。 对于30%的数据,N≤100, K≤100。 对于50%的数据,N≤1000, K≤1000。 对于70%的数据,N≤100000。 另有10%的数据,K=0。 对于100%的数据,0≤N≤1000000000,0≤K≤1000000。