도심은 격자 모양이다. 거리(street)는 남북 방향으로 뻗어 있으며 서쪽의 1번 거리부터 동쪽의 20번 거리까지 번호가 매겨져 있고, 가로(avenue)는 동서 방향으로 뻗어 있으며 북쪽의 1번 가로부터 남쪽의 20번 가로까지 번호가 매겨져 있다. 도시는 두 갱단 Blip과 Crud로 나뉘어 있으며, 그 경계는 1번 거리와 1번 가로가 만나는 지점에서 20번 거리와 20번 가로가 만나는 지점까지 대각선으로 이어지는 그린 라인이다. 그린 라인의 남서쪽은 Blip이, 북동쪽은 Crud가 지배한다.
Blip은 자신을 증명하기 위해 Crud의 영역을 가로지르는 질주(run)를 한다. 질주는 1번 거리와 1번 가로의 교차점에서 시작하여 그린 라인 위의 어떤 지점에서 끝난다. 질주는 도중에 그린 라인에 닿을 수는 있지만 결코 그것을 넘어가지 않는다. 이동은 가로를 따라 동쪽으로만, 거리를 따라 남쪽으로만 하므로, 질주는 E(동쪽)와 S(남쪽)로 이루어진 문자열이다. 길이가 $2N-2$인 질주는 $N$번 거리와 $N$번 가로의 교차점에서 끝난다.
어느 날 밤의 모든 질주는 길이가 같으며, Blip은 그것들이 얼마나 OG한지에 따라 순위를 매긴다. 질주 $R_1$이 질주 $R_2$보다 더 OG하다는 것은 다음 중 하나가 성립함을 뜻한다.
예를 들어:
EESS는 ESES보다 더 OG하다.EEESSS는 EESESS보다 더 OG하다.EESSEESS는 EESSESES보다 더 OG하다.같은 길이의 모든 질주를 가장 OG한 것부터 가장 덜 OG한 것 순서로 나열한다. 질주의 순위(rank)는 이 목록에서 1부터 시작하는 위치이다. 길이가 4일 때 EESS의 순위는 1이고 ESES의 순위는 2이다.
입력은 여러 개의 인스턴스로 이루어지며, 0 0만 있는 줄로 끝난다.
각 인스턴스는 두 양의 정수 $N$과 $M$이 한 줄에 주어진다. $N$은 그날 밤 질주들이 끝나는 지점($N$번 거리와 $N$번 가로)이고, $M$은 원하는 순위이다. $1 \le N \le 20$이라고 가정해도 된다.
각 인스턴스에 대해, 길이가 $2N-2$이고 순위가 $M$인 질주를 출력한다. 길이가 $2N-2$인 질주가 $M$개보다 적으면 ERROR를 출력한다.