#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=
MTAwIDk5CjAgMCAwIDEgMSAwIDEgMCAxIDEgMSAxIDAgMSAwIDEgMSAwIDAgMCAwIDEgMSAwIDAgMSAxIDEgMCAwIDAgMCAwIDEgMSAxIDEgMCAxIDAgMSAxIDEgMSAwIDEgMCAxIDAgMCAwIDAgMCAxIDAgMCAxIDEgMCAxIDEgMCAxIDEgMSAwIDEgMCAwIDAgMCAxIDEgMSAxIDEgMSAxIDEgMSAwIDEgMSAwIDAgMCAwIDEgMSAwIDAgMSAxIDEgMCAwIDEgMSAxIDEgCjE1IDgwCjg4IDEwMAo1MiAxNQo5NiA0MwoyMiA5OQo3NiA5Mgo4NiAxNQo3MiA2CjQ5IDk1CjM4IDExCjYxIDU2CjcwIDQ4CjY2IDgKNzMgNDMKODIgNTAKNTUgOTYKMjkgNDIKNDcgMzIKOCA0MgoyNiAyOQo5MiAxCjIxIDc3CjE2IDQ0CjgzIDE2CjM4IDIwCjI2IDk5CjI3IDk1CjQ2IDkyCjU1IDE4Cjg3IDg4CjE5IDQxCjgzIDQ4CjM0IDgxCjMxIDQxCjIzIDkKNjkgMTQKNjEgNDEKNDMgMjgKODUgMjUKNDQgMjIKOTYgMjEKMjAgNzQKNjggMTgKNjYgNzQKODcgNTIKNjEgNgo0NCA0Mwo1IDc3CjIzIDg3CjE3IDk3Cjk1IDg1CjYzIDU2Cjc4IDUKODMgNjIKODEgNzgKODMgNzYKNzIgNjYKMzkgMTAKNjkgNTEKNjcgMTIKNDUgNzEKNDAgNjcKMTAgNTYKMTYgNAo5MyA3OAo4MiA0NgozMSAxNAo3NSA2NQo5MCA0Mgo3IDgwCjQgMjcKMzAgNzAKOTEgNzQKODYgNjAKMzcgNjgKNjUgODEKOTcgNzUKNjQgMTYKMTUgNTMKOSAyMQo4NSAxMgo3MSAzNgozIDk4CjIyIDM2CjM5IDEzCjQ4IDM1CjE3IDk0CjQwIDc5CjgwIDU4CjE2IDg0CjE1IDQ3CjMzIDE0CjY3IDU3CjMgNzMKNTkgNjUKNDMgNTQKNjQgMjQKMiA3Mwo4OSA4Cgo=
100 99
0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1
15 80
88 100
52 15
96 43
22 99
76 92
86 15
72 6
49 95
38 11
61 56
70 48
66 8
73 43
82 50
55 96
29 42
47 32
8 42
26 29
92 1
21 77
16 44
83 16
38 20
26 99
27 95
46 92
55 18
87 88
19 41
83 48
34 81
31 41
23 9
69 14
61 41
43 28
85 25
44 22
96 21
20 74
68 18
66 74
87 52
61 6
44 43
5 77
23 87
17 97
95 85
63 56
78 5
83 62
81 78
83 76
72 66
39 10
69 51
67 12
45 71
40 67
10 56
16 4
93 78
82 46
31 14
75 65
90 42
7 80
4 27
30 70
91 74
86 60
37 68
65 81
97 75
64 16
15 53
9 21
85 12
71 36
3 98
22 36
39 13
48 35
17 94
40 79
80 58
16 84
15 47
33 14
67 57
3 73
59 65
43 54
64 24
2 73
89 8