#include<bits/stdc++.h>

using namespace std;
#define int long long
int maxn = 2001;
vector<vector<array<int,2>>> g(maxn);
vector<vector<int>> g1(maxn);
vector<int> used(maxn),used1(maxn);
void dfs(int a,int i){
    used[a] = 1;
    for(auto [b,j] : g[a]){
        if(!used[b] && j!=i){
            dfs(b,i);
        }
    }
}
int cnt = 0;

void dfs1(int i){
    used1[i] = 1;
    for(int j : g1[i]){
        if(!used1[i]){
            dfs1(j);
        }else{
            cnt++;
        }
    }
}
int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie();
    int n,m,gr;
    cin >> n >> m >> gr;
    vector<array<int,2>> e(m);
    for(int i = 0; i < m; ++i) {
        int a, b;
        cin >> a >> b;
        a--, b--;
        g[a].push_back({b,i});
        e[i] = {a,b};
    }
    cout << n - 1 << ' ' << n - 1 << '\n';
    return 0;
    int h = 0;
    int p = -1;
    for(int i = 0; i < m; ++i){
        used.assign(n,0);
        dfs(e[i][0],i);
        if(!used[e[i][1]]) {
            g1[e[i][0]].push_back(e[i][1]);
            p = e[i][0];
            h++;
        }
    }
    if(p!=-1) dfs1(p);
    cout << h - cnt << ' ' << 1 << '\n';
    return 0;
}
