// // 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+1, vector(n, unordered_set())); for (int i=0; i> a >> b; d[0][a].insert(b); } for (int i=0; i ans; ans.insert(0); for (int i=0; i<=z; i++) { if (t&1) { unordered_set next; for (const auto& v : ans) { next.merge(d[i][v]); } ans = next; } t>>=1; } cout << ans.size() << endl; }