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()
}