#include <bits/stdc++.h>
using namespace std;
int vis[200005];
struct edge {
  int v, n;
} e[500005];
int head[500005], cnt, deg[500005];
inline void add(int u, int v) {
  e[++cnt].v = v;
  e[cnt].n = head[u];
  head[u] = cnt;
}
inline int dfs(int u) {
  int rtn = (deg[u] == 2);
  vis[u] = 1;
  for (int i = head[u]; i; i = e[i].n) {
    if (!vis[e[i].v]) {
      rtn &= dfs(e[i].v);
    }
  }
  return rtn;
}
int main(int argc, char** argv) {
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int u, v;
    cin >> u >> v;
    add(u, v);
    add(v, u);
    ++deg[u], ++deg[v];
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    if (!vis[i]) {
      int t = dfs(i);
      ans += t;
    }
  }
  cout << ans;
  return 0;
}
