#include <bits/stdc++.h>
using namespace std;
const int len = (1 << 22) + 5;
int adj[25], con[len];
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  for (int i = 0; i < m; i++) {
    int a, b;
    scanf("%d %d", &a, &b);
    a--;
    b--;
    adj[a] |= (1 << b);
    adj[b] |= (1 << a);
  }
  if (m == (n * (n - 1)) / 2) {
    printf("0\n");
    return 0;
  }
  for (int i = 0; i < n; i++) con[1 << i] = 1;
  for (int bit = 0; bit < (1 << n); bit++)
    if (con[bit]) {
      int total = bit;
      for (int i = 0; i < n; i++)
        if (bit & (1 << i)) total |= adj[i];
      for (int i = 0; i < n; i++)
        if (total & (1 << i)) con[bit | (1 << i)] = 1;
    }
  int ans, mn = 50;
  for (int bit = 0; bit < (1 << n); bit++) {
    int total = bit, ones = __builtin_popcount(bit);
    for (int i = 0; i < n; i++)
      if (bit & (1 << i)) total |= adj[i];
    if (total == (1 << n) - 1 && con[bit] && ones < mn) {
      mn = ones;
      ans = bit;
    }
  }
  printf("%d\n", mn);
  for (int i = 0; i < n; i++)
    if (ans & (1 << i)) printf("%d ", i + 1);
  printf("\n");
  return 0;
}
