#include <iostream>
using namespace std;
int ft_strcmp(string str1, string str2)
{
int s = 0;
bool flag = true;
int count= 0;
while(flag)
{
if(str1[s] == str2[s]){
count++;
s++;
}
else
break;
}
return (count);
}
int main()
{
int n1 = 0, n2 = 0;
int ar1 = 0, ar2 = 0;
cin >> n1 >> n2;
string str[n1];
int len = n1;
int i = 0;
int lol = 0;
while(n1--)
{
cin >> str[i];
i++;
}
while(n2--)
{
cin >> ar1 >> ar2;
lol = ft_strcmp(str[ar1 -1] , str[ar2 -1]);
cout << lol << endl;
}
}
// int num;
// int n1,n2;
// cin >> num;
// int nums[num*2];
// int i = 0;
// int max = 0;
// int min = 0;
// int first = 1;
// int count = 0;
// while(num--)
// {
// cin >> n1 >> n2;
// nums[i]=n1;
// i++;
// nums[i]=n2;
// i++;
// if(first){
// min = n1;
// max = n2;
// first = 0;
// }
// if(max < n1)
// count += (n1 - max) - 1;
// if(min > n2)
// {
// count += (min - n2) - 1;
// max = n2;
// }
// if(min > n1)
// min = n1;
// if(max < n2)
// max = n2;
// }
// cout << count;
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGZ0X3N0cmNtcChzdHJpbmcgc3RyMSwgc3RyaW5nIHN0cjIpCnsKICAgIGludCBzID0gMDsKICAgIGJvb2wgZmxhZyA9IHRydWU7CiAgICBpbnQgY291bnQ9IDA7CiAgICB3aGlsZShmbGFnKQogICAgewogICAgICAgIGlmKHN0cjFbc10gPT0gc3RyMltzXSl7CiAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICBzKys7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAJYnJlYWs7CiAgICAgICAgCiAgICB9ICAKICAgIHJldHVybiAoY291bnQpOwp9CgppbnQgbWFpbigpCnsKICAgIGludCBuMSA9IDAsIG4yID0gMDsKICAgIGludCBhcjEgPSAwLCBhcjIgPSAwOwogICAgY2luID4+IG4xID4+IG4yOwogICAgc3RyaW5nIHN0cltuMV07CiAgICBpbnQgbGVuID0gbjE7CiAgICBpbnQgaSA9IDA7CiAgICBpbnQgbG9sID0gMDsKICAgIHdoaWxlKG4xLS0pCiAgICB7CiAgICAgICAgY2luID4+IHN0cltpXTsKICAgICAgICBpKys7CiAgICB9CiAgICB3aGlsZShuMi0tKQogICAgewogICAgICAgIGNpbiA+PiBhcjEgPj4gYXIyOwogICAgICAgIGxvbCA9IGZ0X3N0cmNtcChzdHJbYXIxIC0xXSAsIHN0clthcjIgLTFdKTsKICAgICAgICBjb3V0IDw8IGxvbCA8PCBlbmRsOwogICAgfQp9CiAgICAvLyBpbnQgbnVtOwogICAgLy8gaW50IG4xLG4yOwogICAgLy8gY2luID4+IG51bTsKICAgIC8vIGludCBudW1zW251bSoyXTsKICAgIC8vIGludCBpID0gMDsKICAgIC8vIGludCBtYXggPSAwOwogICAgLy8gaW50IG1pbiA9IDA7CiAgICAvLyBpbnQgZmlyc3QgPSAxOwogICAgLy8gaW50IGNvdW50ID0gMDsKICAgIC8vIHdoaWxlKG51bS0tKQogICAgLy8gewogICAgLy8gICAgIGNpbiA+PiBuMSA+PiBuMjsKICAgIC8vICAgICBudW1zW2ldPW4xOwogICAgLy8gICAgIGkrKzsKICAgIC8vICAgICBudW1zW2ldPW4yOwogICAgLy8gICAgIGkrKzsKICAgIC8vICAgICBpZihmaXJzdCl7CiAgICAvLyAgICAgICAgIG1pbiA9IG4xOwogICAgLy8gICAgICAgICBtYXggPSBuMjsKICAgIC8vICAgICAgICAgZmlyc3QgPSAwOwogICAgLy8gICAgIH0KICAgIC8vICAgICBpZihtYXggPCBuMSkKICAgIC8vICAgICAgICAgY291bnQgKz0gKG4xIC0gbWF4KSAtIDE7CiAgICAvLyAgICAgaWYobWluID4gbjIpCiAgICAvLyAgICAgewogICAgLy8gICAgICAgICBjb3VudCArPSAobWluIC0gbjIpIC0gMTsKICAgIC8vICAgICAgICAgbWF4ID0gbjI7CiAgICAvLyAgICAgfQogICAgLy8gICAgIGlmKG1pbiA+IG4xKQogICAgLy8gICAgICAgICBtaW4gPSBuMTsKICAgIC8vICAgICBpZihtYXggPCBuMikKICAgIC8vICAgICAgICAgbWF4ID0gbjI7CiAgICAgICAgCiAgICAvLyB9CiAgICAvLyBjb3V0IDw8IGNvdW50Ow==