#include
#include
#include
using namespace std;
bool visit[1000000]; // 중복 확인!!
bool sel[10];
void go(int cnt, string number, string result){
if(result != "" && visit[stoi(result)] == false){ // 빈 문자열이 아니거나 방문한적이 없으면
int num = stoi(result);
visit[num] = true; // 중복을 방지하기 위해 true 설정
cout << result << '\n';
}
for(int i = 0; i < number.length(); i++){ // 순열
if(sel[i] == true) continue;
sel[i] = true;
go(cnt + 1, number, result + number[i]);
sel[i] = false;
}
}
int main() {
string number = "123";
go(0, number, "");
return 0;
}