#include<iostream>
#include<vector>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
using namespace std;
inline void scan(int *a)
{
register char c = 0;
while(c<33)
c = getchar_unlocked();
*a = 0;
while(c > 33)
{
*a=*a*10+c-'0';
c= getchar_unlocked();
}
}
int arr[50003] = {0} , reachable[50003] = {0};
int pls = 0;
long long int tomul = 0 , ans = 0;
vector < vector<int> > graph;
//vector<int> location ;
void dfs(int start_vertex , vector<int> &visited )
{
visited[start_vertex] = 1;
if(arr[start_vertex]==1)
tomul++;
//cout<<tomul<<endl;
//newly.push_back(start_vertex);
for(auto it:graph[start_vertex])
{
if(!visited[it])
{
//location.push_back(it);
pls++;
if(arr[it] == 1)
{
ans += pls;
pls = 0;
}
/*for(auto k: location)
cout<<k<<" ";
cout<<endl;*/
dfs(it , visited);
pls--;
if(pls<0)
pls = 0;
// location.pop_back();
}
}
}
void paths(int start_vertex , int tot)
{
long long int second = 0;
vector <int> visited(tot+1 , 0);
pls = 1;
// location.push_back(start_vertex);
tomul = 0;
dfs(start_vertex , visited);
second += (tomul*(tomul-1))/2;
// cout<<tomul<<endl;
//newly.clear();
//location.clear();
for(int i = 1; i <= tot; i++)
{
if(visited[i] == 0)
{
//cout<<"Its "<<i<<endl;
if(arr[i] == 1)
{
//cout<<"hi";
// location.push_back(i);
pls = 1;
tomul = 0;
dfs(i , visited);
second += (tomul*(tomul-1))/2;
//newly.clear();
// location.clear();
}
}
}
printf("%lld %lld\n" , second,ans);
}
int main()
{
int n ,m, from,to;
scan(&n);
scan(&m);
vector <int> empty_vector;
//vector <int> colour(n+1 , 0);
for(int i = 0; i <= n ; i++)
{
graph.push_back(empty_vector);
}
int flag = 0 , start = 1;
for(int i =1;i <= n; i++)
{
scan(&arr[i]);
if(arr[i] == 1)
{
// ans++;
if(flag == 0)
{
flag = 1;
start = i;
}
}
}
while(m--)
{
scan(&from);
scan(&to);
graph[from].push_back(to);
graph[to].push_back(from);
}
if(m == 0)
{
cout<<"0 0"<<endl;
return 0;
}
paths(start,n);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxjc3RkaW8+CiNpbmNsdWRlPGNzdGRsaWI+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW5saW5lIHZvaWQgc2NhbihpbnQgKmEpCnsKICAgIHJlZ2lzdGVyIGNoYXIgYyA9IDA7CiAgICB3aGlsZShjPDMzKQogICAgICAgIGMgPSBnZXRjaGFyX3VubG9ja2VkKCk7CiAgICAqYSA9IDA7CiAgICB3aGlsZShjID4gMzMpCiAgICB7CiAgICAgICAgKmE9KmEqMTArYy0nMCc7CiAgICAgICAgYz0gZ2V0Y2hhcl91bmxvY2tlZCgpOwogICAgfQp9CiAKIAppbnQgYXJyWzUwMDAzXSA9IHswfSAsIHJlYWNoYWJsZVs1MDAwM10gPSB7MH07CmludCBwbHMgPSAwOwpsb25nIGxvbmcgaW50IHRvbXVsID0gMCAsIGFucyA9IDA7CnZlY3RvciA8IHZlY3RvcjxpbnQ+ID4gIGdyYXBoOwovL3ZlY3RvcjxpbnQ+IGxvY2F0aW9uIDsKdm9pZCBkZnMoaW50IHN0YXJ0X3ZlcnRleCAsIHZlY3RvcjxpbnQ+ICZ2aXNpdGVkICkKewogICAgdmlzaXRlZFtzdGFydF92ZXJ0ZXhdID0gMTsKICAgIGlmKGFycltzdGFydF92ZXJ0ZXhdPT0xKQogICAgICAgIHRvbXVsKys7CiAgICAvL2NvdXQ8PHRvbXVsPDxlbmRsOwogICAgLy9uZXdseS5wdXNoX2JhY2soc3RhcnRfdmVydGV4KTsKICAgIGZvcihhdXRvIGl0OmdyYXBoW3N0YXJ0X3ZlcnRleF0pCiAgICB7CiAgICAgICAgaWYoIXZpc2l0ZWRbaXRdKQogICAgICAgIHsKICAgICAgICAgICAgLy9sb2NhdGlvbi5wdXNoX2JhY2soaXQpOwogICAgICAgICAgICBwbHMrKzsKICAgICAgICAgICAgaWYoYXJyW2l0XSA9PSAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgYW5zICs9IHBsczsKICAgICAgICAgICAgICAgICBwbHMgPSAgMDsKICAgICAgICAgICAgfQogCiAgICAgICAgICAgIC8qZm9yKGF1dG8gazogbG9jYXRpb24pCiAgICAgICAgICAgICAgICBjb3V0PDxrPDwiICI7CiAgICAgICAgICAgIGNvdXQ8PGVuZGw7Ki8KICAgICAgICAgICAgZGZzKGl0ICwgdmlzaXRlZCk7CiAgICAgICAgICAgIHBscy0tOwogICAgICAgICAgICBpZihwbHM8MCkKICAgICAgICAgICAgICAgIHBscyA9IDA7CiAgICAgICAgLy8gICAgbG9jYXRpb24ucG9wX2JhY2soKTsKICAgICAgICB9CiAKICAgIH0KfQogCnZvaWQgcGF0aHMoaW50IHN0YXJ0X3ZlcnRleCAsIGludCB0b3QpCnsKICAgIGxvbmcgbG9uZyBpbnQgc2Vjb25kID0gMDsKICAgIHZlY3RvciA8aW50PiB2aXNpdGVkKHRvdCsxICwgMCk7CiAgICBwbHMgPSAxOwogIC8vICBsb2NhdGlvbi5wdXNoX2JhY2soc3RhcnRfdmVydGV4KTsKICAgIHRvbXVsID0gMDsKICAgIGRmcyhzdGFydF92ZXJ0ZXggLCB2aXNpdGVkKTsKICAgIHNlY29uZCArPSAodG9tdWwqKHRvbXVsLTEpKS8yOwovLyAgICBjb3V0PDx0b211bDw8ZW5kbDsKICAgIC8vbmV3bHkuY2xlYXIoKTsKICAgIC8vbG9jYXRpb24uY2xlYXIoKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gdG90OyBpKyspCiAgICB7CiAgICAgICAgaWYodmlzaXRlZFtpXSA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgICAgIC8vY291dDw8Ikl0cyAiPDxpPDxlbmRsOwogICAgICAgICAgICBpZihhcnJbaV0gPT0gMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy9jb3V0PDwiaGkiOwogICAgICAvLyAgICAgICAgICBsb2NhdGlvbi5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgICAgICBwbHMgPSAxOwogICAgICAgICAgICAgICAgdG9tdWwgPSAwOwogICAgICAgICAgICAgICAgZGZzKGkgLCB2aXNpdGVkKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgc2Vjb25kICs9ICh0b211bCoodG9tdWwtMSkpLzI7CiAgICAgICAgICAgICAgICAvL25ld2x5LmNsZWFyKCk7CiAgICAgICAgLy8gICAgICAgIGxvY2F0aW9uLmNsZWFyKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBwcmludGYoIiVsbGQgJWxsZFxuIiAsIHNlY29uZCxhbnMpOwp9CmludCBtYWluKCkKewogICAgaW50IG4gLG0sIGZyb20sdG87CiAgICAKICAgIHNjYW4oJm4pOwogICAgc2NhbigmbSk7CiAgICB2ZWN0b3IgPGludD4gZW1wdHlfdmVjdG9yOwogICAgLy92ZWN0b3IgPGludD4gY29sb3VyKG4rMSAsIDApOwogICAgZm9yKGludCBpID0gMDsgaSA8PSBuIDsgaSsrKQogICAgewogICAgICAgIGdyYXBoLnB1c2hfYmFjayhlbXB0eV92ZWN0b3IpOwogICAgfQogICAgaW50IGZsYWcgPSAwICwgc3RhcnQgPSAxOwogICAgZm9yKGludCBpID0xO2kgPD0gbjsgaSsrKQogICAgewogICAgICAgIHNjYW4oJmFycltpXSk7CiAgICAgICAgaWYoYXJyW2ldID09IDEpCiAgICAgICAgewogICAgLy8gICAgICAgIGFucysrOwogICAgICAgICAgICBpZihmbGFnID09IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZsYWcgPSAxOwogICAgICAgICAgICAgICAgc3RhcnQgPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgd2hpbGUobS0tKQogICAgewogICAgICAgIHNjYW4oJmZyb20pOwogICAgICAgIHNjYW4oJnRvKTsKICAgICAgICBncmFwaFtmcm9tXS5wdXNoX2JhY2sodG8pOwogICAgICAgIGdyYXBoW3RvXS5wdXNoX2JhY2soZnJvbSk7CiAgICB9CiAgICBpZihtID09IDApCiAgICB7CiAgICAgICAgY291dDw8IjAgMCI8PGVuZGw7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAKICAgIHBhdGhzKHN0YXJ0LG4pOwogICAgcmV0dXJuIDA7Cn0=
NTAgNDkKMSAwIDEgMCAxIDAgMCAxIDEgMCAxIDEgMSAxIDAgMSAxIDEgMSAxIDEgMSAxIDAgMCAwIDAgMCAxIDAgMSAwIDEgMCAxIDAgMSAxIDEgMCAxIDAgMSAwIDAgMCAxIDEgMSAwIAo0MCA0OAo0NiAxOQozOCA0CjQ0IDM0CjEwIDM1CjQyIDQ0CjcgMjMKMzggMjQKMTIgMQoxNSAzMQoyOSAyMgo0OCAzOQoyIDQyCjI1IDEzCjkgMTgKNDEgNTAKMTcgMzYKMTkgNgo0MSAxNAozOSAzCjQ4IDMxCjQ4IDYKNSAzNQozMiAxOAozNiA0Ngo0OSAxNgoxOCA0Ngo2IDIxCjM3IDMwCjM0IDQ3CjUwIDI2CjQ3IDE4CjE0IDE3CjMwIDEyCjYgMjcKMzQgMQoyMCAyNwoxMSAxOAozMSAzNQoxMyA0OAoxNCAyMwoyOSA0NQoxIDgKMTMgMzgKMzMgNTAKMTcgNDUKMzggMTYKNDMgMjcKMjggMjY=
50 49
1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0
40 48
46 19
38 4
44 34
10 35
42 44
7 23
38 24
12 1
15 31
29 22
48 39
2 42
25 13
9 18
41 50
17 36
19 6
41 14
39 3
48 31
48 6
5 35
32 18
36 46
49 16
18 46
6 21
37 30
34 47
50 26
47 18
14 17
30 12
6 27
34 1
20 27
11 18
31 35
13 48
14 23
29 45
1 8
13 38
33 50
17 45
38 16
43 27
28 26