Buggy python submission (verdict: Runtime Error):
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
g=[0 for i in range(0,M)]
print(g)
e=[]
f=[]
k=0
l=0
while i < M and pos == 0:
	if a[i] == 1:
		g[b[i]] = 1
	if b[i] == 1:
		g[a[i]] = 1
	i=i+1
i=0
print(g)
while i < M and pos == 0:
	if a[i] == N:
		if g[b[i]] == 1:
			pos=1
	if b[i] == N:
		if g[a[i]] == 1:
			pos=1
	i = i + 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Fixed submission:
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
g=[0 for i in range(0,200000)]
e=[]
f=[]
k=0
l=0
while i < M and pos == 0:
	if a[i] == 1:
		g[b[i]] = 1
	if b[i] == 1:
		g[a[i]] = 1
	i=i+1
i=0
while i < M and pos == 0:
	if a[i] == N:
		if g[b[i]] == 1:
			pos=1
	if b[i] == N:
		if g[a[i]] == 1:
			pos=1
	i = i + 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Buggy python submission (verdict: Time Limit Exceeded):
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
e=[]
f=[]
k=0
l=0
for i in range(0,M):
	if a[i] == 1:
		e.append(b[i])
		k=k+1
	if b[i] == 1:
		e.append(a[i])
		k=k+1
	if a[i] == N:
		f.append(b[i])
		l=l+1
	if b[i] == N:
		f.append(a[i])
		l=l+1
for i in range(0,k):
	for j in range(0,l):
		if e[i]==f[j]:
			pos = 1
			break
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Fixed submission:
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
g=[0 for i in range(0,200000)]
e=[]
f=[]
k=0
l=0
while i < M and pos == 0:
	if a[i] == 1:
		g[b[i]] = 1
	if b[i] == 1:
		g[a[i]] = 1
	i=i+1
i=0
while i < M and pos == 0:
	if a[i] == N:
		if g[b[i]] == 1:
			pos=1
	if b[i] == N:
		if g[a[i]] == 1:
			pos=1
	i = i + 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Buggy python submission (verdict: Time Limit Exceeded):
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
e=[]
f=[]
k=0
l=0
for i in range(0,M):
	if a[i] == 1:
		e.append(b[i])
		k=k+1
	if b[i] == 1:
		e.append(a[i])
		k=k+1
	if a[i] == N:
		f.append(b[i])
		l=l+1
	if b[i] == N:
		f.append(a[i])
		l=l+1
for i in range(0,k):
	for j in range(0,l):
		if e[i]==f[j]:
			pos = 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Fixed submission:
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
g=[0 for i in range(0,200000)]
e=[]
f=[]
k=0
l=0
while i < M and pos == 0:
	if a[i] == 1:
		g[b[i]] = 1
	if b[i] == 1:
		g[a[i]] = 1
	i=i+1
i=0
while i < M and pos == 0:
	if a[i] == N:
		if g[b[i]] == 1:
			pos=1
	if b[i] == N:
		if g[a[i]] == 1:
			pos=1
	i = i + 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Buggy python submission (verdict: Time Limit Exceeded):
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
while pos==0 and i<M:
	if a[i] == 1:
		c=b[i]
		for j in range(1, M):
			if (a[j]==c and b[j]==N) or (a[j]==N and b[j]==c):
				pos=1
	if b[i] == 1:
		c=a[i]
		for j in range(1, M):
			if (a[j]==c and b[j]==N) or (a[j]==N and b[j]==c):
				pos=1
	i=i+1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")

Fixed submission:
N,M=map(int,input().split())
a=[]
b=[]
for i in range(0,M):
	c,d=map(int,input().split())
	a.append(c)
	b.append(d)

pos=0
i=0
g=[0 for i in range(0,200000)]
e=[]
f=[]
k=0
l=0
while i < M and pos == 0:
	if a[i] == 1:
		g[b[i]] = 1
	if b[i] == 1:
		g[a[i]] = 1
	i=i+1
i=0
while i < M and pos == 0:
	if a[i] == N:
		if g[b[i]] == 1:
			pos=1
	if b[i] == N:
		if g[a[i]] == 1:
			pos=1
	i = i + 1
if pos == 1:
	print("POSSIBLE")
else:
	print("IMPOSSIBLE")