← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, k int
	if _, err := fmt.Fscan(in, &n, &k); err != nil {
		return
	}

	cnt := make(map[int]int)

	for miss := 1; miss <= k+1; miss++ {
		fmt.Fprint(out, "?")
		for i := 1; i <= k+1; i++ {
			if i == miss {
				continue
			}
			fmt.Fprint(out, " ", i)
		}
		fmt.Fprintln(out)
		out.Flush()

		var pos, val int
		if _, err := fmt.Fscan(in, &pos, &val); err != nil {
			return
		}
		if pos == -1 || val == -1 {
			return
		}
		cnt[val]++
	}

	bestVal := -1
	ans := 0
	for v, c := range cnt {
		if v > bestVal {
			bestVal = v
			ans = c
		}
	}

	fmt.Fprintln(out, "!", ans)
	out.Flush()
}