#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 j = 1; j <= n; j++)
{
if(visit[j]==0 && graph[u][j]!=0)
{
child++;
DFS(j, u);
low[u] = min(low[u], low[j]);
if(parent != -1 && dis[u] <= low[j])
{
isAP[u] = true;
}
}
else if(j != parent && graph[u][j] != 0)
{
low[u] = min(low[u], dis[j]);
}
}
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;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGdyYXBoWzEwMDFdWzEwMDFdOwppbnQgdmlzaXRbMTAwMV07CmludCBkaXNbMTAwMV0sIGxvd1sxMDAxXTsKYm9vbCBpc0FQWzEwMDFdOwppbnQgdGltZXIgPSAwOwppbnQgbiwgZTsKCnZvaWQgREZTKGludCB1LCBpbnQgcGFyZW50KQp7CiAgICB2aXNpdFt1XSA9IDE7CiAgICBkaXNbdV0gPSBsb3dbdV0gPSArK3RpbWVyOwoKICAgIGludCBjaGlsZCA9IDA7CiAgICBmb3IoaW50IGogPSAxOyBqIDw9IG47IGorKykKICAgIHsKICAgICAgICBpZih2aXNpdFtqXT09MCAmJiBncmFwaFt1XVtqXSE9MCkKICAgICAgICB7CiAgICAgICAgICAgIGNoaWxkKys7CiAgICAgICAgICAgIERGUyhqLCB1KTsKCiAgICAgICAgICAgIGxvd1t1XSA9IG1pbihsb3dbdV0sIGxvd1tqXSk7CgogICAgICAgICAgICBpZihwYXJlbnQgIT0gLTEgJiYgZGlzW3VdIDw9IGxvd1tqXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaXNBUFt1XSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGVsc2UgaWYoaiAhPSBwYXJlbnQgJiYgZ3JhcGhbdV1bal0gIT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGxvd1t1XSA9IG1pbihsb3dbdV0sIGRpc1tqXSk7CiAgICAgICAgfQogICAgfQoKICAgIGlmKHBhcmVudCA9PSAtMSAmJiBjaGlsZCA+IDEpCiAgICB7CiAgICAgICAgaXNBUFt1XSA9IHRydWU7CiAgICB9Cgp9CgppbnQgbWFpbigpCnsKICAgIGNpbj4+bj4+ZTsKICAgIGludCB1LCB2OwogICAgZm9yKGludCBpID0gMTsgaSA8PSBlOyBpKyspCiAgICB7CiAgICAgICAgY2luPj51Pj52OwogICAgICAgIGdyYXBoW3VdW3ZdID0gMTsKICAgICAgICBncmFwaFt2XVt1XSA9IDE7CiAgICB9CiAgICBERlMoMSwgLTEpOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIGlmKGlzQVBbaV0gPT0gIHRydWUpCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDxpPDwiIGlzIGFuIEFQIjw8ZW5kbDsKICAgICAgICB9CiAgICB9Cn0K