#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MOD = 1e9 + 7;
ll power(ll a,ll b){
ll ans = 1;
while(b>0){
if(b&1){
ans = (ans*a)%MOD;
}
a = (a*a)%MOD;
b>>=1;
}
return ans;
}
int main() {
ll n ;
ll m;
ll k;
cin>>n>>m>>k;
vector<ll>G[n+1];
for(int i = 1 ; i<=m ;i++){
int u,v;
cin>>u>>v;
G[u].push_back(v);
G[v].push_back(u);
}
int red=0 , blue = 0;
vector<int>used(n+1);
queue<ll>q;
used[1]=1;
q.push(1);red++;
bool ans = true;
//int k = n*m -count;
while(!q.empty()){
auto u = q.front();
q.pop();
for(auto v : G[u]){
if(used[v] == 0){
if(used[u] == 1){
used[v]=3;
blue++;
}else if(used[u] == 3){
used[v] = 1;
red++;
}
q.push(v);
}else{
if(used[u]+used[v] != 4){
ans = false;
}
}}
}
ll t2 = k/3;
ll t1 = k - t2;
if (ans == false){
cout<<"no";
}else{
cout<<red <<" "<<blue<<endl;
cout<< ((1LL*power(t2,red)*power(t1,blue))%MOD+(1LL*power(t1,red)*power(t2,blue))%MOD)%MOD;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKY29uc3QgbGwgTU9EID0gMWU5ICsgNzsKbGwgcG93ZXIobGwgYSxsbCBiKXsKCWxsIGFucyA9IDE7Cgl3aGlsZShiPjApewoJCWlmKGImMSl7CgkJCWFucyA9IChhbnMqYSklTU9EOwoJCX0KCQkKCQlhID0gKGEqYSklTU9EOwoJCWI+Pj0xOwoJfQoJcmV0dXJuIGFuczsKfQppbnQgbWFpbigpIHsKICAgIGxsIG4gOwogICAgbGwgbTsKICAgIGxsIGs7CiAgICBjaW4+Pm4+Pm0+Pms7CiAgICAKICAgIHZlY3RvcjxsbD5HW24rMV07CiAgICAKICAgIGZvcihpbnQgaSA9IDEgOyBpPD1tIDtpKyspewogICAgCWludCB1LHY7CiAgICAJY2luPj51Pj52OwogICAgCUdbdV0ucHVzaF9iYWNrKHYpOwogICAgCUdbdl0ucHVzaF9iYWNrKHUpOwogICAgfQogICAgaW50IHJlZD0wICwgYmx1ZSA9IDA7CiAgICB2ZWN0b3I8aW50PnVzZWQobisxKTsKICAgIHF1ZXVlPGxsPnE7CiAgICB1c2VkWzFdPTE7CiAgICBxLnB1c2goMSk7cmVkKys7CiAgICBib29sIGFucyA9IHRydWU7CiAgCiAgICAvL2ludCBrID0gbiptIC1jb3VudDsKICAgIHdoaWxlKCFxLmVtcHR5KCkpewogICAgCWF1dG8gdSA9IHEuZnJvbnQoKTsKICAgIAlxLnBvcCgpOwogICAgCQogICAgCWZvcihhdXRvIHYgOiBHW3VdKXsKICAgIAkJaWYodXNlZFt2XSA9PSAwKXsKICAgIAkJCWlmKHVzZWRbdV0gPT0gMSl7CiAgICAJCQl1c2VkW3ZdPTM7CiAgICAJCiAgICAJCQlibHVlKys7CiAgICAJCX1lbHNlIGlmKHVzZWRbdV0gPT0gMyl7CiAgICAJCQkJdXNlZFt2XSA9IDE7CiAgICAJCQkJcmVkKys7CiAgICAJCX0KICAgIAkJcS5wdXNoKHYpOwogICAgCX1lbHNlewogICAgCSAgaWYodXNlZFt1XSt1c2VkW3ZdICE9IDQpewogICAgCQlhbnMgPSBmYWxzZTsKICAgIAl9CQogICAgCX19CiAgICAJCiAgICAJCiAgICB9CiAgICAKICAgIGxsIHQyID0gay8zOwogICAgbGwgdDEgID0gayAtIHQyOwogICAgCiAgIGlmIChhbnMgPT0gZmFsc2UpewogICAJY291dDw8Im5vIjsKICAgfWVsc2V7CiAgIAljb3V0PDxyZWQgPDwiICI8PGJsdWU8PGVuZGw7CiAgIAkgY291dDw8ICgoMUxMKnBvd2VyKHQyLHJlZCkqcG93ZXIodDEsYmx1ZSkpJU1PRCsoMUxMKnBvd2VyKHQxLHJlZCkqcG93ZXIodDIsYmx1ZSkpJU1PRCklTU9EOwogICB9CglyZXR1cm4gMDsKfQ==