游游的矩阵统计
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

游游有一个2行n列的矩阵,她想知道有多少个2*2的子矩阵中,4个元素恰好有2种不同的元素?

请注意,由于子矩阵可能过大,因此按如下的形式给出:
第一行共有m个连续段(连续相同元素),则用一些二元组(<u_1,c_1>,<u_2,c_2>...<u_m,c_m>)来表示:第一行首先是有c_1u_1,紧接着c_2u_2……最后有c_nu_n。第二行也用同样的方式给出。

输入描述:

第一行输入三个正整数n,m_1,m_2,分别代表矩阵的列数,第一行连续段数量和第二行连续段数量。
接下来的m_1行,每行输入两个正整数u_ic_i,分别代表矩阵第一行每个连续段的元素以及数量。
接下来的m_2行,每行输入两个正整数u_ic_i,分别代表矩阵第二行每个连续段的元素以及数量。
1\leq m_1,m_2 \leq 10^5
1\leq n \leq 10^{12}
1\leq u_i \leq 10^9
1\leq c_i \leq n
保证前m_1c_i之和等于n,且后m_2c_i之和等于n
保证u_i≠u_{i+1}

输出描述:

一个整数,代表4个元素恰好有2种不同的元素的2*2的子矩阵数量。
示例1

输入

复制
8 4 3
1 2
3 2
2 3
3 1
1 4
2 1
3 3

输出

复制
5

说明

如下图,该矩阵共有5个2*2的子矩阵中恰好有两种不同元素。