← Home
```go
package main

import (
	"fmt"
	"io"
	"os"
)

func main() {
	data, _ := io.ReadAll(os.Stdin)
	off := 0
	readInt := func() int {
		for off < len(data) && (data[off] < '0' || data[off] > '9') {
			off++
		}
		if off >= len(data) {
			return 0
		}
		res := 0
		for off < len(data) && data[off] >= '0' && data[off] <= '9' {
			res = res*10 + int(data[off]-'0')
			off++
		}
		return res
	}

	N := readInt()
	if N == 0 {
		return
	}
	M := readInt()

	K := N
	if K > 64 {
		K = 64
	}

	var adj [64]uint64
	for i := 0; i < M; i++ {
		u := readInt()
		v := readInt()
		if u <= K && v <= K && u != v {
			u--
			v--
			adj[u] |= (1 << v)
			adj[v] |= (1 << u)
		}
	}

	for i := 0; i < K; i++ {
		for j := i + 1; j < K; j++ {
			e_ij := (adj[i] >> j) & 1
			for k := j + 1; k < K; k++ {
				if ((adj[i]>>k)&1) != e_ij || ((adj[j]>>k)&1) != e_ij {
					continue
				}
				for l := k + 1; l < K; l++ {
					if ((adj[i]>>l)&1) != e_ij || ((adj[j]>>l)&1) != e_ij || ((adj[k]>>l)&1) != e_ij {
						continue
					}
					for m := l + 1; m < K; m++ {
						if ((adj[i]>>m)&1) != e_ij || ((adj[j]>>m)&1) != e_ij || ((adj[k]>>m)&1) != e_ij || ((adj[l]>>m)&1) != e_ij {
							continue
						}
						fmt.Printf("%d %d %d %d %d\n", i+1, j+1, k+1, l+1, m+1)
						return
					}
				}
			}
		}
	}
	fmt.Println("-1")
}
```