Wrong answer in chef and walk

for this problem why i get WA ???

[CodeChef: Practical coding for everyone]

#include <bits/stdc++.h>
#include<string.h>
using namespace std;
const long long M = 1000000007;
int main()
{
long long n,a,b,i,c,sum;
cin>>n;
for(i=0;i<n;i++)
{ sum=0;
cin>>a>>b;
c=((a-1)+b/2)%M;

        if(c!=-1)
        {
            b=b%2;
            sum=(sum+a+(2*(c+1-a)*(b))%M)%M;
        while(c>0)
        {
            sum=(sum+((2*c))%M)%M;
            c-=1;
        }
        }
        cout<<sum<<endl;
        
    }Preformatted text

return 0;
}