Ilya the Lion wants to help all his friends with passing exams. They need to solve the following problem to pass the IT exam.

You've got string *s* = *s*<sub class="lower-index">1</sub>*s*<sub class="lower-index">2</sub>... *s*<sub class="lower-index">*n*</sub> (*n* is the length of the string), consisting only of characters "." and "#" and *m* queries. Each query is described by a pair of integers *l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub> (1 ≤ *l*<sub class="lower-index">*i*</sub> &lt; *r*<sub class="lower-index">*i*</sub> ≤ *n*). The answer to the query *l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub> is the number of such integers *i* (*l*<sub class="lower-index">*i*</sub> ≤ *i* &lt; *r*<sub class="lower-index">*i*</sub>), that *s*<sub class="lower-index">*i*</sub> = *s*<sub class="lower-index">*i* + 1</sub>.

Ilya the Lion wants to help his friends but is there anyone to help him? Help Ilya, solve the problem.
The first line contains string *s* of length *n* (2 ≤ *n* ≤ 10<sup class="upper-index">5</sup>). It is guaranteed that the given string only consists of characters "." and "#".

The next line contains integer *m* (1 ≤ *m* ≤ 10<sup class="upper-index">5</sup>) — the number of queries. Each of the next *m* lines contains the description of the corresponding query. The *i*-th line contains integers *l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub> (1 ≤ *l*<sub class="lower-index">*i*</sub> &lt; *r*<sub class="lower-index">*i*</sub> ≤ *n*).


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;


int main()
{

    int n, i, a, lev, pra;
    string s;
    cin >> s;
    vector<int> pov(s.length());
    pov[0] = 0;
    for (i = 1; i < s.length(); i = i + 1)
    {
        a = 0;
        if (s[i] == s[i - 1])
        {
            a = 1;
        }
        pov[i] = pov[i - 1] + a;
    }

    
    cin >> n;
    vector<int> otv(n);
    for (i = 0; i < n; i = i + 1)
    {
        cin >> lev >> pra;
        otv[i] = pov[pra - 1] - pov[lev - 1];
    }

    for (i = 0; i < n; i = i + 1)
    {
        
        cout << otv[i] << "\n";
    }
    


}




# Mon Oct 30 2023 17:51:32 GMT+0300 (Moscow Standard Time)
