#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a>n; vector as(n); for(int i=0;i>as[i]; const int MAX = 3e5 + 100; vector< vector > G(MAX); for(int i=1;i dp(MAX,-MAX); int ans=0; for(int a:as){ chmax(dp[a],1); for(int d:G[a]) chmax(dp[a],dp[d]+1); chmax(ans,dp[a]); } cout<