#include <bits/stdc++.h>
using namespace std;
string s;int n;
bool cmp_init(int a, int b)
{
return s[a]<s[b] || (s[a]==s[b] && a<b);
}
int jmp;
vector<int> pos;
bool cmp(int a, int b)
{
return pos[a]<pos[b] || (pos[a]==pos[b] && pos[(a+jmp)%n]<pos[(b+jmp)%n]);
}
int main() {
int tc;cin>>tc;
while(tc--){
cin>>s;
int m=s.size();
s=s+s+"{";
n=s.size();
vector<int> SA(n,0);
for(int i=0;i<n;i++)SA[i]=i;
sort(SA.begin(), SA.end(), cmp_init);
pos.assign(n,0);
for(int i=1 , c=0;i<n;i++)pos[SA[i]]=(s[SA[i]]==s[SA[i-1]])?c:++c;
for(jmp=1;jmp<=n;jmp*=2)
{
sort(SA.begin(), SA.end(), cmp);
vector<int> tmp(n,0);
for(int i=1 , c=0;i<n;i++)tmp[SA[i]]=(pos[SA[i]]==pos[SA[i-1]] && pos[(SA[i]+jmp)%n]==pos[(SA[i-1]+jmp)%n])?c:++c;
for(int i=0;i<n;i++)pos[i]=tmp[i];
}
for(int i=0;i<n;i++)if(SA[i]<m){cout<<SA[i]+1<<"\n";break;}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJpbmcgcztpbnQgbjsKYm9vbCBjbXBfaW5pdChpbnQgYSwgaW50IGIpCnsKCXJldHVybiBzW2FdPHNbYl0gfHwgKHNbYV09PXNbYl0gJiYgYTxiKTsKfQoKaW50IGptcDsKdmVjdG9yPGludD4gcG9zOwpib29sIGNtcChpbnQgYSwgaW50IGIpCnsKCXJldHVybiBwb3NbYV08cG9zW2JdIHx8IChwb3NbYV09PXBvc1tiXSAmJiBwb3NbKGEram1wKSVuXTxwb3NbKGIram1wKSVuXSk7Cn0KCmludCBtYWluKCkgewoJaW50IHRjO2Npbj4+dGM7Cgl3aGlsZSh0Yy0tKXsKCWNpbj4+czsKCWludCBtPXMuc2l6ZSgpOwoJcz1zK3MrInsiOwoJbj1zLnNpemUoKTsKCQoJdmVjdG9yPGludD4gU0EobiwwKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspU0FbaV09aTsKCXNvcnQoU0EuYmVnaW4oKSwgU0EuZW5kKCksIGNtcF9pbml0KTsKCXBvcy5hc3NpZ24obiwwKTsKCQoJZm9yKGludCBpPTEgLCBjPTA7aTxuO2krKylwb3NbU0FbaV1dPShzW1NBW2ldXT09c1tTQVtpLTFdXSk/YzorK2M7CgkJCglmb3Ioam1wPTE7am1wPD1uO2ptcCo9MikKCXsKCQkKCQlzb3J0KFNBLmJlZ2luKCksIFNBLmVuZCgpLCBjbXApOwoJCQoJCXZlY3RvcjxpbnQ+IHRtcChuLDApOwoJCgkgICAgZm9yKGludCBpPTEgLCBjPTA7aTxuO2krKyl0bXBbU0FbaV1dPShwb3NbU0FbaV1dPT1wb3NbU0FbaS0xXV0gJiYgcG9zWyhTQVtpXStqbXApJW5dPT1wb3NbKFNBW2ktMV0ram1wKSVuXSk/YzorK2M7CgoJCWZvcihpbnQgaT0wO2k8bjtpKyspcG9zW2ldPXRtcFtpXTsKCgl9CgkKCQlmb3IoaW50IGk9MDtpPG47aSsrKWlmKFNBW2ldPG0pe2NvdXQ8PFNBW2ldKzE8PCJcbiI7YnJlYWs7fQoJfQoJCn0=