μμ°μ Nκ³Ό Mμ΄ μ£Όμ΄μ‘μ λ, μλ 쑰건μ λ§μ‘±νλ κΈΈμ΄κ° MμΈ μμ΄μ λͺ¨λ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
1λΆν° NκΉμ§ μμ°μ μ€μμ Mκ°λ₯Ό κ³ λ₯Έ μμ΄
κ°μ μλ₯Ό μ¬λ¬ λ² κ³¨λΌλ λλ€.
첫째 μ€μ μμ°μ Nκ³Ό Mμ΄ μ£Όμ΄μ§λ€. (1 β€ M β€ N β€ 7)
ν μ€μ νλμ© λ¬Έμ μ 쑰건μ λ§μ‘±νλ μμ΄μ μΆλ ₯νλ€. μ€λ³΅λλ μμ΄μ μ¬λ¬ λ² μΆλ ₯νλ©΄ μλλ©°, κ° μμ΄μ 곡백μΌλ‘ ꡬλΆν΄μ μΆλ ₯ν΄μΌ νλ€.
μμ΄μ μ¬μ μμΌλ‘ μ¦κ°νλ μμλ‘ μΆλ ₯ν΄μΌ νλ€.
μμ μ
λ ₯ 1
3 1
μμ μΆλ ₯ 1
1
2
3
μμ μ
λ ₯ 2
4 2
μμ μΆλ ₯ 2
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
4 1
4 2
4 3
4 4
μμ μ
λ ₯ 3
3 3
μμ μΆλ ₯ 3
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3
2 3 1
2 3 2
2 3 3
3 1 1
3 1 2
3 1 3
3 2 1
3 2 2
3 2 3
3 3 1
3 3 2
3 3 3
function dfs(N, M, arr) {
if(arr.length === M) return arr.join(" ")
const results = []
for(let i = 1 ; i <= N ; i++) {
const res = dfs(N, M, [...arr, i])
results.push(res)
}
return results.join("\n")
}
const [N, M] = require('fs').readFileSync('/dev/stdin').toString().trim().split(" ").map(Number)
const result = dfs(N, M, [])
console.log(result)