import java.util.Scanner;
public class Solution {
static int count = 2;
public static void swap(char[] arr, int i, int j) {
char tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
public static void reverse(char[] arr, int start) {
int i = start;
int j = arr.length - 1;
while (i < j) {
swap(arr, i, j);
i++;
j--;
}
}
public static boolean hasNextPerm(char[] arr) {
int i = arr.length - 1;
while (i > 0 && arr[i] <= arr[i - 1]) {
i--;
}
if (i == 0) {
return false;
}
int j = arr.length - 1;
while (arr[j] <= arr[i - 1]) {
j--;
}
swap(arr, i - 1, j);
reverse(arr, i);
System.out.print((count++) + ":");
System.out.println(arr);
return true;
}
public static void main(String argv[]) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String line = in.nextLine();
System.out.println("1:" + line);
char[] arr = line.toCharArray();
while (hasNextPerm(arr)) {
}
count = 2;
}
}
}