没理解
// Decline is inevitable,
// Romance will last forever.
// CF1552C. Maximize the Intersections
#include <bits/stdc++.h>
using namespace std;
#define mst(a, x) memset(a, x, sizeof(a))
#define INF 0x3f3f3f3f
#define mp make_pair
#define pii pair<int,int>
#define fi first
#define se second
#define ll long long
//#define int long long
const int maxn = 3e5 + 10;
const int maxm = 3e5*4 + 10;
const int P = 1e9 + 7;
int n, q;
int a[maxn];
int sum[maxn];
void solve() {
cin >> n >> q;
string s;
cin >> s;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == '+') a[i+1] = 1;
else a[i+1] = -1;
}
for(int i = 1; i <= n; i++) {
if(i == 1)
sum[i] = a[i];
else {
if(i & 1) sum[i] = sum[i-1] + a[i];
else sum[i] = sum[i-1] - a[i];
}
}
while(q--)
{
int l, r;
cin >> l >> r;
int a = abs(sum[l-1] - sum[r]);
while(a > 2) a-= 2;
cout << a << endl;
}
}
signed main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
// int T; scanf("%d", &T); while(T--)
int T; cin >> T; while(T--)
solve();
return 0;
}