1 2
1 3
2 1
2 3
3 1
3 2
6
import sys
sys.stdin = open("./input/in8.txt", "rt")
def DFS(L):
global cnt
global ch
if L==m:
for x in res:
print(x,end=' ')
print()
cnt+=1
else:
for i in range(1,n+1):
if ch[i]==0:
res[L]=i
ch[i]=1
DFS(L+1)
ch=[0 for _ in range(n+1)] # ch를 0으로 초기화
if __name__=="__main__":
n,m=map(int,input().split())
res=[0]*m
cnt=0
ch=[0]*(n+1) # 중복을 허락하지 않는 체크리스트 (인덱스 번호와 동일)
DFS(0)
print(cnt)
import sys
sys.stdin = open("./input/in8.txt", "rt")
def DFS(L):
global cnt
if L==m:
for x in res:
print(x, end=' ')
print()
cnt+=1
else:
for i in range(1,n+1):
if ch[i]==0: # 체크리스트의 값이 0일때만 순열(=res) 만들기
ch[i]=1
res[L]=i
DFS(L+1)
ch[i]=0 # 🌟 back을 한 뒤에는 체크리스트 되돌리기
if __name__=="__main__":
n,m=map(int,input().split())
res=[0]*m
cnt=0
ch=[0]*(n+1) # 🌟 중복을 허락하지 않는 체크리스트 (인덱스 번호와 동일)
DFS(0)
print(cnt)