#include<iostream>
#include<string>
#include<stdio.h>
#define max 110
using namespace std;
int main() {
char arr[max] = { 0 };
char arr2[max] = { 0 };
int count=0;
int count1 = 0;
cin >> arr;
for (int i = 0; arr[i] != 0; i++) {
count++;
}
for (int i = 0; i < count; i++) {
if (arr[0] >= arr[i] && i != 0)//数组连接赋值
{
int b = i;
for (int j = 0; j < count - i; j++)
{
arr2[j] = arr[b];
b++;
}
b = i;
for (int j = 0; j < i; j++)
{
arr2[count - b] = arr[j];
b--;
}
}
count1 = 0;
for (int a = 0; a < count; a++)//arr2比arr小就复制给arr,否则不复制
{
if (arr[a] == arr2[a] && count1 == a && arr[a] == arr[0])
{
count1++;
}
if (count1 == a && arr[a] == arr2[a] && arr2[a] != 0)
{
count1++;
}
if (count1 == a && arr[a] > arr2[a] && arr2[a] != 0)
{
for (int z = 0; z < count; z++)
{
arr[z] = arr2[z];
i = 0;
}
}
}
}
cout << "最小表示为:" << arr;
system("pause");
}