#include <bits/stdc++.h>
using namespace std;
int _count = 0;
void paths(unordered_set<int>& set, int sum, int n) {
  if (sum == n) {
    _count++;
    return;
  }
  if (sum > n) {
    return;
  }
  for (auto it = set.begin(); it != set.end(); it++) {
    paths(set, sum + *it, n);
  }
}
int main() {
  int n, k;
  cin >> n >> k;
  int a, b;
  unordered_set<int> set;
  for (int i = 0; i < k; i++) {
    cin >> a >> b;
    set.insert(a);
    set.insert(b);
  }
  paths(set, 1, n);
  cout << _count << endl;
  return 0;
}
