import std.stdio;
import std.typecons : tuple;
import std.string : strip;
void main()
{
foreach(line; stdin.byLine)
{
auto word = line.strip;
auto current = word.dup;
auto smallest = tuple(0, current);
int rotations;
do
{
current = current[1 .. $] ~ current[0];
rotations++;
if(current < smallest[1])
{
smallest[0] = rotations;
smallest[1] = current;
}
}
while(current != word);
writeln(smallest[0], ' ', smallest[1]);
}
}
aW1wb3J0IHN0ZC5zdGRpbzsKCWltcG9ydCBzdGQudHlwZWNvbnMgOiB0dXBsZTsKCWltcG9ydCBzdGQuc3RyaW5nIDogc3RyaXA7CgoJdm9pZCBtYWluKCkKCXsKCQlmb3JlYWNoKGxpbmU7IHN0ZGluLmJ5TGluZSkKCQl7CgkJCWF1dG8gd29yZCA9IGxpbmUuc3RyaXA7CgkJCWF1dG8gY3VycmVudCA9IHdvcmQuZHVwOwoJCQlhdXRvIHNtYWxsZXN0ID0gdHVwbGUoMCwgY3VycmVudCk7CgkJCWludCByb3RhdGlvbnM7CgkJCWRvCgkJCXsKCQkJCWN1cnJlbnQgPSBjdXJyZW50WzEgLi4gJF0gfiBjdXJyZW50WzBdOwoJCQkJcm90YXRpb25zKys7CgkJCQlpZihjdXJyZW50IDwgc21hbGxlc3RbMV0pCgkJCQl7CgkJCQkJc21hbGxlc3RbMF0gPSByb3RhdGlvbnM7CgkJCQkJc21hbGxlc3RbMV0gPSBjdXJyZW50OwoJCQkJfQoJCQl9CgkJCXdoaWxlKGN1cnJlbnQgIT0gd29yZCk7CgkJCXdyaXRlbG4oc21hbGxlc3RbMF0sICcgJywgc21hbGxlc3RbMV0pOwoJCX0KCX0=