import java.util.*;
import java.lang.*;
import java.io.*;
class Anagram
{
public static String swap(String s, int i, int j){
char[] carr = s.toCharArray();
char tmp = carr[i];
carr[i] = carr[j];
carr[j] = tmp;
return new String(carr);
}
static int count = 0;
public static void anagram(String s, int start, int end){
if(start == end){
System.out.println(s);
count++;
return;
}
for(int i = start;i<=end; i++){
s = swap(s, start, i);
anagram(s, start+1, end);
s = swap(s, start, i);
}
}
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
String s = "ABCD";
anagram(s, 0, s.length() -1 );
System.out.println(count);
}
}
import java.lang.*;
import java.io.*;
class Anagram
{
public static String swap(String s, int i, int j){
char[] carr = s.toCharArray();
char tmp = carr[i];
carr[i] = carr[j];
carr[j] = tmp;
return new String(carr);
}
static int count = 0;
public static void anagram(String s, int start, int end){
if(start == end){
System.out.println(s);
count++;
return;
}
for(int i = start;i<=end; i++){
s = swap(s, start, i);
anagram(s, start+1, end);
s = swap(s, start, i);
}
}
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
String s = "ABCD";
anagram(s, 0, s.length() -1 );
System.out.println(count);
}
}