#include<bits/stdc++.h>
using namespace std;
int graph[1001][1001];
int visit[1001];
int dis[1001], low[1001];
bool isAP[1001];
int timer = 0;
int n, e;
void DFS(int u, int parent)
{
visit[u] = 1;
dis[u] = low[u] = ++timer;
int child = 0;
for(int v = 1; v <= n; v++)
{
if(visit[v]==0 && graph[u][v]!=0)
{
child++;
DFS(v, u);
low[u] = min(low[u], low[v]);
if(parent != -1 && dis[u] <= low[v])
{
isAP[u] = true;
}
}
else if(v != parent && graph[u][v] != 0)
{
low[u] = min(low[u], dis[v]);
}
}
if(parent == -1 && child > 1)
{
isAP[u] = true;
}
}
int main()
{
cin>>n>>e;
int u, v;
for(int i = 1; i <= e; i++)
{
cin>>u>>v;
graph[u][v] = 1;
graph[v][u] = 1;
}
DFS(1, -1);
for(int i = 1; i <= n; i++)
{
if(isAP[i] == true)
{
cout<<i<<" is an AP"<<endl;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGdyYXBoWzEwMDFdWzEwMDFdOwppbnQgdmlzaXRbMTAwMV07CmludCBkaXNbMTAwMV0sIGxvd1sxMDAxXTsKYm9vbCBpc0FQWzEwMDFdOwppbnQgdGltZXIgPSAwOwppbnQgbiwgZTsKCnZvaWQgREZTKGludCB1LCBpbnQgcGFyZW50KQp7CiAgICB2aXNpdFt1XSA9IDE7CiAgICBkaXNbdV0gPSBsb3dbdV0gPSArK3RpbWVyOwoKICAgIGludCBjaGlsZCA9IDA7CiAgICBmb3IoaW50IHYgPSAxOyB2IDw9IG47IHYrKykKICAgIHsKICAgICAgICBpZih2aXNpdFt2XT09MCAmJiBncmFwaFt1XVt2XSE9MCkKICAgICAgICB7CiAgICAgICAgICAgIGNoaWxkKys7CiAgICAgICAgICAgIERGUyh2LCB1KTsKCiAgICAgICAgICAgIGxvd1t1XSA9IG1pbihsb3dbdV0sIGxvd1t2XSk7CgogICAgICAgICAgICBpZihwYXJlbnQgIT0gLTEgJiYgZGlzW3VdIDw9IGxvd1t2XSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaXNBUFt1XSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGVsc2UgaWYodiAhPSBwYXJlbnQgJiYgZ3JhcGhbdV1bdl0gIT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGxvd1t1XSA9IG1pbihsb3dbdV0sIGRpc1t2XSk7CiAgICAgICAgfQogICAgfQoKICAgIGlmKHBhcmVudCA9PSAtMSAmJiBjaGlsZCA+IDEpCiAgICB7CiAgICAgICAgaXNBUFt1XSA9IHRydWU7CiAgICB9Cgp9CgppbnQgbWFpbigpCnsKICAgIGNpbj4+bj4+ZTsKICAgIGludCB1LCB2OwogICAgZm9yKGludCBpID0gMTsgaSA8PSBlOyBpKyspCiAgICB7CiAgICAgICAgY2luPj51Pj52OwogICAgICAgIGdyYXBoW3VdW3ZdID0gMTsKICAgICAgICBncmFwaFt2XVt1XSA9IDE7CiAgICB9CiAgICBERlMoMSwgLTEpOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGlmKGlzQVBbaV0gPT0gIHRydWUpCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDxpPDwiIGlzIGFuIEFQIjw8ZW5kbDsKICAgICAgICB9CiAgICB9Cn0K