#include <iostream>
#include <cstring>
using namespace std;
int ft_strcmp(string str1, string str2)
{
int s = 0;
bool flag = true;
int count= 0;
while(flag && str1[s] && str2[s])
{
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];
if(str[i].length() > 200000)
return(0);
i++;
}
while(n2--)
{
cin >> ar1 >> ar2;
if((ar1 < 1 || ar1 > 200000 ) || (ar2 < 1 || ar2 > 200000 ))
return (0);
lol = ft_strcmp(str[ar1 -1] , str[ar2 -1]);
cout << lol << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBmdF9zdHJjbXAoc3RyaW5nIHN0cjEsIHN0cmluZyBzdHIyKQp7CiAgICBpbnQgcyA9IDA7CiAgICBib29sIGZsYWcgPSB0cnVlOwogICAgaW50IGNvdW50PSAwOwogICAgd2hpbGUoZmxhZyAmJiBzdHIxW3NdICYmIHN0cjJbc10pCiAgICB7CiAgICAgICAgaWYoc3RyMVtzXSA9PSBzdHIyW3NdKXsKICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgIHMrKzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIAlicmVhazsKICAgIH0gIAogICAgcmV0dXJuIChjb3VudCk7Cn0KCmludCBtYWluKCkKewogICAgaW50IG4xID0gMCwgbjIgPSAwOwogICAgaW50IGFyMSA9IDAsIGFyMiA9IDA7CiAgICBjaW4gPj4gbjEgPj4gbjI7CiAgICBzdHJpbmcgc3RyW24xXTsKICAgIGludCBsZW4gPSBuMTsKICAgIGludCBpID0gMDsKICAgIGludCBsb2wgPSAwOwogICAgd2hpbGUobjEtLSkKICAgIHsKICAgICAgICBjaW4gPj4gc3RyW2ldOwogICAgICAgIGlmKHN0cltpXS5sZW5ndGgoKSA+IDIwMDAwMCkKICAgICAgICAJcmV0dXJuKDApOwogICAgICAgIGkrKzsKICAgIH0KICAgIHdoaWxlKG4yLS0pCiAgICB7CiAgICAgICAgY2luID4+IGFyMSA+PiBhcjI7CiAgICAgICAgaWYoKGFyMSA8IDEgfHwgYXIxID4gMjAwMDAwICkgfHwgKGFyMiA8IDEgfHwgYXIyID4gMjAwMDAwICkpCiAgICAgICAgCXJldHVybiAoMCk7CiAgICAgICAgbG9sID0gZnRfc3RyY21wKHN0clthcjEgLTFdICwgc3RyW2FyMiAtMV0pOwogICAgICAgIGNvdXQgPDwgbG9sIDw8IGVuZGw7CiAgICB9Cn0=