// // Created by zeronosu77108 on Jan 15, 2021. // #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; struct aaa{aaa(){cin.tie(nullptr); ios::sync_with_stdio(false); cout<ostream &operator<<(ostream &o,const vector&v){o<<"{";for(int i=0;i<(int)v.size();i++)o<<(i>0?", ":"")<> n >> m >> t; long z = 64 - __builtin_clzl(t); vector d(z+10, vector(n+10, unordered_set())); for (int i=0; i> a >> b; d[0][a].insert(b); } for (int i=0; i ans = {0}; for (int i=0; i<=z; i++) { if (t&1) { unordered_set next; for (const auto& v : ans) { for (const auto& u : d[i][v]) next.insert(u); } swap(ans, next); } t/=2; } cout << ans.size() << endl; }