package main import ( "fmt" ) type Stack[T any] []T func New[T any]() Stack[T] { return make(Stack[T], 0) } func (s *Stack[T]) Push(x T) { (*s) = append((*s), x) } func (s *Stack[T]) Pop() T { v := (*s)[len(*s)-1] (*s) = (*s)[:len(*s)-1] return v } type EightRec struct { d int /* 0..7 桁 */ value int mask int } func main() { var K int fmt.Scan(&K) count := 0 stack := New[EightRec]() stack.Push(EightRec{0, 0, 0}) for len(stack) > 0 { e := stack.Pop() if e.d < 8 { for m := 1; m <= 8; m++ { if e.mask&(1<