美丽的序列I
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

西工大暑假培训时某出题人曾经推出了套题“美丽的序列”,包含“美丽的序列A”、“美丽的序列B”...“美丽的序列H”。而今天这道题就是“美丽的序列”系列之新作————“美丽的序列I”。
一个序列,如果能被划分为  个子段,每个子段都非空且连续,且每个子段中数字的权值都是不下降的,那我就说“这个序列能被划分成  个连续不下降子段”。显然存在一个最小的  ,这个  被称为此序列的美丽度
现在已知序列中每个数的取值范围,即a_i可以取范围中的任何一个整数。
请求出所有可能的序列的美丽度之和,答案对取模。

输入描述:

第一行是一个正整数 ,接下来  行,第  行有两个整数l_i,r_i

输出描述:

输出只有一行,仅包含一个整数,表示问题的答案。
示例1

输入

复制
2
1 2
1 2

输出

复制
5

说明

序列{1,1}的美丽度为1
序列{1,2}的美丽度为1
序列{2,1}的美丽度为2
序列{2,2}的美丽度为1

备注: