끝나지 않는 파티

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

파티를 좋아하는 민호는 파티가 끊이지 않는 놀이동산 "민호월드"를 세웠다. 처음에는 파티장이 하나뿐인 작은 놀이동산이었지만 손님이 늘면서 파티장을 계속 늘렸고, 지금은 파티장이 N개다. 민호는 파티장을 새로 지을 때마다 그 파티장과 기존 파티장을 모두 직접 잇는 도로를 깔았고, 이 도로는 전부 일방통행이다. 그래서 어떤 파티장 i에서 다른 파티장 j로 곧장 가는 도로가 항상 하나씩 있다.

파티장이 많아지자 두 가지 문제가 생겼다.

  1. A 파티장에서 B 파티장으로 곧장 가는 도로가 있어도, 다른 파티장을 거쳐 가는 쪽이 더 빠른 경우가 있다.
  2. 지금부터 C만큼 지난 뒤 B번 파티장에서 새 파티가 열리는데, 1번 때문에 지금 A번 파티장에 있는 손님이 제시간에 도착할 수 있는지 바로 알기 어렵다.

민호를 대신해, 요청마다 A번 파티장에서 B번 파티장까지 C 이하의 시간에 갈 수 있는지 판정하는 프로그램을 작성하자. 걸리는 최소 시간이 C와 같아도 제시간에 도착한 것으로 본다.

입력

첫 줄에 파티장의 수 N(5 ≤ N ≤ 500)과 서비스를 요청한 손님의 수 M(1 ≤ M ≤ 10,000)이 주어진다. 파티장에는 1번부터 N번까지 번호가 붙어 있다.

다음 N개의 줄에는 각각 N개의 수가 주어진다. i번째 줄의 j번째 수 T는 i번 파티장에서 j번 파티장으로 곧장 잇는 도로를 지나는 데 걸리는 시간이다. i와 j가 다르면 1 ≤ T ≤ 1,000,000이고, i와 j가 같으면 T는 0이다.

다음 M개의 줄에는 정수 A, B, C가 한 줄에 하나씩 주어진다. A(1 ≤ A ≤ N)는 손님이 있는 파티장 번호, B(1 ≤ B ≤ N)는 다음 파티가 열리는 파티장 번호, C(1 ≤ C ≤ 1,000,000,000)는 지금부터 그 파티가 열릴 때까지 남은 시간이다.

출력

요청 M개를 입력에 주어진 순서대로 처리해 요청마다 한 줄씩 출력한다. A번 파티장에서 B번 파티장까지 가는 최소 시간이 C 이하이면 "Enjoy other party"를, 그렇지 않으면 "Stay here"를 출력한다.