#include <bits/stdc++.h>
using namespace std;
int a[(1 << 22) + 10], b[(1 << 22) + 10], c[(1 << 22) + 10], d[30];
void sc(int e) {
  if (b[e]) sc(b[e]);
  printf("%d ", c[e]);
}
int main() {
  int e, f;
  scanf("%d%d", &e, &f);
  memset(a, 0x3f, sizeof(a));
  for (int g = 1; g <= e; g++) d[g] = 1 << (g - 1);
  for (int g = 1; g <= f; g++) {
    int h, i;
    scanf("%d%d", &h, &i);
    d[h] |= 1 << (i - 1);
    d[i] |= 1 << (h - 1);
  }
  if (f == e * (e - 1) / 2) {
    printf("0\n");
    return 0;
  }
  for (int g = 1; g <= e; g++) {
    a[d[g]] = 1;
    c[d[g]] = g;
  }
  for (int g = 1; g < 1 << e; g++) {
    if (a[g] ^ 0x3f3f3f3f) {
      for (int h = 1; h <= e; h++) {
        if ((g >> (h - 1) & 1) && a[g | d[h]] > a[g] + 1) {
          a[g | d[h]] = a[g] + 1;
          b[g | d[h]] = g;
          c[g | d[h]] = h;
        }
      }
    }
  }
  printf("%d\n", a[(1 << e) - 1]);
  sc((1 << e) - 1);
  return 0;
}
