#include<iostream>
#include<algorithm>
#include<cmath>
#include<map>
#include<vector>
#include<set>
//#include<bits/stdc++.h>
char visit[1000][1000];
int n, m;
int ans=0;
using namespace std;
long long arr_8[1000000],arr_4[1000000],arr_2[1000000],arr_6[1000000];
int main()
{
std::ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
cout.tie(NULL);
string s;
cin>>s;
for(int j=1, i=s.size()-2;i>=0;i--,j++)
{
if(j%4==0&&s[i]=='1')
arr_6[i]=1;
else if (j%4==1&&s[i]=='1')
arr_2[i]=1;
else if (j%4==2&&s[i]=='1')
arr_4[i]=1;
else if (j%4==3&&s[i]=='1')
arr_8[i]=1;
}
for(int i=1;i<s.size();i++)
{
arr_2[i]+=arr_2[i-1];
arr_4[i]+=arr_4[i-1];
arr_8[i]+=arr_8[i-1];
arr_6[i]+=arr_6[i-1];
}
int q;
cin>>q;
while(q--)
{
int x,y;
cin>>x>>y;
x--,y--;
long long ans=0;
long long c2,c4,c6,c8;
if(x==0)
{
c2=arr_2[y];
c4=arr_4[y];
c8=arr_8[y];
c6=arr_6[y];
}
else
{
c2=arr_2[y]-arr_2[x-1];
c4=arr_4[y]-arr_4[x-1];
c8=arr_8[y]-arr_8[x-1];
c6=arr_6[y]-arr_6[x-1];
}
if(y==s.size()-1)
{
ans=(c2*2)+(c4*4)+(c8*8)+(c6*6);
if(s[y]=='1')
ans++;
cout<<ans%10<<"\n";
continue;
}
// cout<<c8<<"\n";
int k=s.size()-y-1;
//cout<<k<<"\n";
if(k%4==0&&s[y]=='1')
c6--;
else if(k%4==1&&s[y]=='1')
c2--;
else if(k%4==2&&s[y]=='1')
c4--;
else if(k%4==3&&s[y]=='1')
c8--;
int g=s.size()-y-1;
if(g%4==0)
{
ans=(c2*2)+(c4*4)+(c8*8)+(c6*6);
if(s[y]=='1')
ans++;
cout<<ans%10<<"\n";
}
if(g%4==1)
{
ans=(c2*6)+(c4*2)+(c8*4)+(c6*8);
if(s[y]=='1')
ans++;
cout<<ans%10<<"\n";
}
else if(g%4==2)
{
ans=(c2*8)+(c4*6)+(c8*2)+(c6*4);
if(s[y]=='1')
ans++;
cout<<ans%10<<"\n";
}
else if(g%4==3)
{
ans=(c2*4)+(c4*8)+(c8*6)+(c6*2);
if(s[y]=='1')
ans++;
cout<<ans%10<<"\n";
}
}
}
Copy