// permutation generation

N = 4
val = array 4
id = 0-1

to writeperm | i =
  for i 0 N-1
    print val[i] space
  nl

to visit k | t =
  id = id + 1
  val[k] = id
  if id == (N - 1) 
    writeperm 
  for t 0 N-1
    if val[t] == 0 visit t  
  id = id - 1
  val[k] = 0

to main | i =
  for i 0 N-1
    val[i] = 0
  visit 0

main













