#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int number1(string m, int length, int n)
{
for (int k = length / 2; k > n; k--)
{
bool ts = true;
for (int i = 0; i <k; i++)
{
if (m[i] != m[i + k])
{
ts = false;
break;
}
}
if (ts)
return 2 * k;
}
return 0;
}
int number2(string m, int length, int n)
{
for (int k = (length + n) / 2; k > n; k--)
{
bool ts = true;
for (int i = length - 1; i > length - 1 - k + n; i--)
if (m[i] != m[i - k])
{
ts = false;
break;
}
if (ts)
return 2 * k;
}
return 0;
}
int max(int a,int b,int c)
{
if(a>=b&&a>=c)
return a;
else if(b>=c&&b>=a)
return b;
else if (c>=a&&c>=b)
return c;
}
int main()
{
int h;
cin>>h;
while(h--)
{
string m;
int n;
cin >> m >> n;
int lengths = m.size();
if (lengths <= n)
cout << lengths + n<<endl;
else
cout<<max(number1(m, lengths, n),number2(m, lengths, n),2*n)<<endl;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG51bWJlcjEoc3RyaW5nIG0sIGludCBsZW5ndGgsIGludCBuKQp7Cglmb3IgKGludCBrID0gbGVuZ3RoIC8gMjsgayA+IG47IGstLSkKCXsKCQlib29sIHRzID0gdHJ1ZTsKCQlmb3IgKGludCBpID0gMDsgaSA8azsgaSsrKQoJCXsKCgkJCWlmIChtW2ldICE9IG1baSArIGtdKQoJCQl7CgkJCQl0cyA9IGZhbHNlOwoJCQkJYnJlYWs7CgoJCQl9CgkJfQoJCWlmICh0cykKCQkJcmV0dXJuIDIgKiBrOwoJfQoJcmV0dXJuIDA7Cn0KaW50IG51bWJlcjIoc3RyaW5nIG0sIGludCBsZW5ndGgsIGludCBuKQp7Cglmb3IgKGludCBrID0gKGxlbmd0aCArIG4pIC8gMjsgayA+IG47IGstLSkKCXsKCQlib29sIHRzID0gdHJ1ZTsKCQlmb3IgKGludCBpID0gbGVuZ3RoIC0gMTsgaSA+IGxlbmd0aCAtIDEgLSBrICsgbjsgaS0tKQoJCWlmIChtW2ldICE9IG1baSAtIGtdKQoJCXsKCQkJdHMgPSBmYWxzZTsKCQkJYnJlYWs7CgkJfQoJCWlmICh0cykKCQkJcmV0dXJuIDIgKiBrOwoJfQoJcmV0dXJuIDA7Cn0KaW50IG1heChpbnQgYSxpbnQgYixpbnQgYykKewoJaWYoYT49YiYmYT49YykKCQlyZXR1cm4gYTsKCWVsc2UgaWYoYj49YyYmYj49YSkKCQlyZXR1cm4gYjsKCWVsc2UgaWYgKGM+PWEmJmM+PWIpCgkJcmV0dXJuIGM7Cn0KCgoKaW50IG1haW4oKQp7CglpbnQgaDsKCWNpbj4+aDsKCXdoaWxlKGgtLSkKewoJc3RyaW5nIG07CglpbnQgbjsKCWNpbiA+PiBtID4+IG47CglpbnQgbGVuZ3RocyA9IG0uc2l6ZSgpOwoJaWYgKGxlbmd0aHMgPD0gbikKCQljb3V0IDw8IGxlbmd0aHMgKyBuPDxlbmRsOwoJZWxzZSAKCQljb3V0PDxtYXgobnVtYmVyMShtLCBsZW5ndGhzLCBuKSxudW1iZXIyKG0sIGxlbmd0aHMsIG4pLDIqbik8PGVuZGw7CgkKfQp9