#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
using namespace std;
int n, m, u, v, vis[100005], cnt;
vector<int> a[100005];
void dfs(int now)
{
for (int i = 0; i < a[now].size(); i++)
{
if (!vis[a[now][i]])
{
vis[a[now][i]] = vis[now] % 2 + 1;
cnt += vis[now] % 2;
dfs(a[now][i]);
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= m; i++)
{
cin >> u >> v;
a[u].push_back(v);
a[v].push_back(u);
}
for (int i = 1; i <= n; i++)
{
if (!vis[i])
{
dfs(i);
}
}
cout << min(cnt, n - cnt) << " " << max(cnt, n - cnt);
return 0;
}