#include <bits/stdc++.h>
#define N 500001
using namespace std;
int n,m,u,v,past,cnt;
int in[N],In[N];
priority_queue<int,vector<int>,greater<int> > q;
priority_queue<int> Q;
vector<int> e[N];
int main(){
cin>>n>>m;
while (m--){
cin>>u>>v;
e[u].push_back(v);
in[v]++;
}
for (int i=1;i<=n;i++){
In[i]=in[i];
if (!in[i]){
q.push(i);
Q.push(i);
}
}
cnt=0;
while (!q.empty()){
int u=q.top();
q.pop();
if (u>past){
cnt++;
}
past=max(past,u);
for (int v:e[u]){
in[v]--;
if (!in[v]){
q.push(v);
}
}
}
cout<<cnt<<endl;
cnt=0,past=0;
while (!Q.empty()){
int u=Q.top();
Q.pop();
if (u>past){
cnt++;
}
past=max(past,u);
for (int v:e[u]){
In[v]--;
if (!In[v]){
Q.push(v);
}
}
}
cout<<cnt;
return 0;
}
除了两个点AC其他都只拿了40%(挺6的)