피자 배달
시간 제한2초메모리 제한512 MB
가중 방향 그래프에서 시점 1과 도착점 2가 주어지고, 매일 서로 다른 간선 하나의 방향이 뒤집힌다. 각 날짜마다 최단 경로 길이가 줄어드는지, 그대로인지, 늘어나거나 도달 불가능해지는지 판정한다.
문제
앨리사는 뉴 츠쿠바 시에 사는 대학생이다. 이 도시의 도로 구간은 모두 일방통행이다. 내일부터 시작하는 사회 실험에서는 하루에 한 구간씩, 인접한 두 교차로를 잇는 도로 구간 하나를 골라 통행 방향을 반대로 바꾼다. 나머지 구간의 방향은 그대로 두며, 바꾼 방향은 다음 날 원래대로 돌아온다. 번째 날에 방향이 뒤집히는 구간은 번 구간이다.
앨리사는 매일 같은 가게에서 피자를 주문한다. 피자는 가게가 있는 교차로에서 앨리사의 집이 있는 교차로까지 최단 경로를 따라 배달된다.
통행 방향이 바뀌면 최단 경로가 달라질 수 있다. 이 실험이 배달 경로에 어떤 영향을 주는지 날마다 판정하자.
입력
입력은 다음 형식의 테스트 케이스 하나로 이루어진다.
n m
a1 b1 c1
.
.
.
am bm cm
첫 줄에는 교차로의 수 과 도로 구간의 수 이 주어진다 (, ). 교차로에는 번부터 번까지, 도로 구간에는 번부터 번까지 번호가 붙어 있다.
이어지는 개의 줄에는 도로 구간 정보가 세 정수 , , 로 주어진다 (, , , ). 번 구간은 교차로 에서 교차로 로 향하는 일방통행 도로이고 길이는 이며, 번째 날에 방향이 뒤집힌다. 같은 교차로 쌍을 잇는 구간이 둘 이상 있을 수 있다.
피자 가게는 번 교차로에, 앨리사의 집은 번 교차로에 있다. 실험이 시작되기 전에 가게에서 집으로 가는 경로가 적어도 하나 있음이 보장된다.
출력
개의 줄을 출력한다. 번째 줄에는 다음을 출력한다.
- 번째 날의 최단 경로가 더 짧아지면
HAPPY - 번째 날의 최단 경로 길이가 그대로이면
SOSO - 번째 날의 최단 경로가 더 길어지거나 가게에서 집으로 가는 경로가 사라지면
SAD
배달 오토바이가 가게로 돌아갈 수 있는지는 따지지 않는다.