import java.util.*; public class Main { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList list = new ArrayList<>(); for (int i = 1; i <= n; i++) { list.add(i); } int idx = 0; while (idx < list.size()) { output(list, idx); int result = sc.nextInt(); if (result == 0) { list.remove(idx); } else { idx++; } } System.out.println("! " + list.size()); StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.size(); i++) { if (i > 0) { sb.append(" "); } sb.append(list.get(i)); } System.out.println(sb); System.out.flush(); } static void output(ArrayList list, int without) { StringBuilder sb = new StringBuilder(); sb.append("? ").append(list.size()).append("\n"); boolean isFirst = true; for (int i = 0; i < list.size(); i++) { if (without == i) { continue; } if (!isFirst) { sb.append(" "); } isFirst = false; sb.append(list.get(i)); } System.out.println(sb); System.out.flush(); } }