- 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=