#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
using ll = long long;
using ull = unsigned long long;
using P = pair<int,int>;
using Pll = pair<ll,ll>;
const ll INF = 1001001001;
void chmin(ll& a,ll b){if(a>b)a = b;}


int main(){
    int n, m;
    cin >> n >> m;
    vector<int> g(n);
    rep(i,m){
        int a,b;
        cin >> a >> b;
        a--; b--;
        g[a] |= 1 << b;
        g[b] |= 1 << a;
    }
    vector<ll> dp(1<<n,INF);
    dp[0] = 1;
    rep(i,n){
        rep(j,1<<n){
            if(dp[j]==1&&(g[i]&j)==j){
                dp[j|1<<i] = 1;
            }
        }
    }
    rep(i,1<<n){
        for(int j = i; --j &= i;){
            chmin(dp[i],dp[i^j]+dp[j]);
        }
    }
    cout << dp.back() << endl;

}
#include <bits/stdc++.h>

using namespace std;

#define cfor(n) for(int i = 0; i < n; ++i)
#define forcn(i,n) for(int i = 0; i < n; ++i)
#define forlcn(i,l,n) for(int i = l; i < n; i++)
#define fordn(i,n) for(int i = n - 1; i >= 0; --i)
#define forldn(i,l,n) for(int i = n - 1 - l; i >= 0; i--)
#define forau(i,v) for(auto &i : v)

typedef long long ll;
typedef unsigned long long ull;

ll mod = 1000000007;

int main(){
  int A,B; cin>>A>>B;
  int ans = 2*A+100;
  cout << ans - B << endl;
  return 0;
}
