#include <bits/stdc++.h>
using namespace std;
int main()
{
long long tests, fibo[1000001];
cin >> tests;
while (tests--)
{
cin >> fibo[0] >> fibo[1];
for (int i = 2; i < 1000000; i++)
fibo[i] = (fibo[i - 1] + fibo[i - 2]) % 1000000007;
string line;
// this gives wa
cin >> ws; // getline(cin, line) and cin.ignore(INT_MAX, '\n') gives accepted
getline(cin, line);
stringstream in(line);
long long n, sum = 0;
while (in >> n)
sum += fibo[n - 1];
cout << sum << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7Cglsb25nIGxvbmcgdGVzdHMsIGZpYm9bMTAwMDAwMV07CgoJY2luID4+IHRlc3RzOwoKCXdoaWxlICh0ZXN0cy0tKQoJewoJCWNpbiA+PiBmaWJvWzBdID4+IGZpYm9bMV07CgoJCWZvciAoaW50IGkgPSAyOyBpIDwgMTAwMDAwMDsgaSsrKQoJCQlmaWJvW2ldID0gKGZpYm9baSAtIDFdICsgZmlib1tpIC0gMl0pICUgMTAwMDAwMDAwNzsKCgkJc3RyaW5nIGxpbmU7CgoJCS8vIHRoaXMgZ2l2ZXMgd2EKCQljaW4gPj4gd3M7IC8vIGdldGxpbmUoY2luLCBsaW5lKSBhbmQgY2luLmlnbm9yZShJTlRfTUFYLCAnXG4nKSBnaXZlcyBhY2NlcHRlZAoKCQlnZXRsaW5lKGNpbiwgbGluZSk7CgogICAgICAgIHN0cmluZ3N0cmVhbSBpbihsaW5lKTsKCgkJbG9uZyBsb25nIG4sIHN1bSA9IDA7CgoJCXdoaWxlIChpbiA+PiBuKQoJCQlzdW0gKz0gZmlib1tuIC0gMV07CgoJCWNvdXQgPDwgc3VtIDw8ICJcbiI7Cgl9Cn0=