/*
题目描述
请计算a到b的立方和。
输入
第一行是一个整数K,表示样例的个数。以后每行一个测试用例,为两个整数 a,b, 1≤a≤b≤1,000,000,000。
输出
每行输出一个样例的结果,由于可能会很大,需要将结果对10003取模。
样例输入
2 1 2 1 3
样例输出
9 36*/
<code>
#include <stdio.h>
#include <stdlib.h>
#define M 10003
int getTriple(int n)
{
int t;
t=n%2?((((n+1)/2)%M)*(n%M))%M:((n/2)%M*((n+1)%M))%M;
return (t*t)%M;
}
void triple()
{
int k,a,b;
scanf("%d",&k);
while(k--){
scanf("%d%d",&a,&b);
b=getTriple(b);
a=getTriple(a-1);
printf("%d\n",b>a?b-a:b-a+M);
}
}
int main()
{
triple();
return 0;
}
</code>