你正站在一片田野的正中央,这片田野被划分为南北向和东西向的网格。一份巨大的宝藏隐藏在其中一个网格单元内。
著名寻宝猎人 Giovanni Battista Belzoni 的后裔 John Belzoni 实际上发现了那份宝藏。不幸的是,他在成功挖掘出宝藏之前就因中暑去世了;他似乎在田野里徘徊了太长时间。
John 从你现在所站的中心单元开始了他的探索。他通往宝藏的所有足迹都留在了田野上,但你只有到达某个单元格时才能识别出上面的足迹。单元格上的足迹指示了他接下来前往四个相邻网格单元中的哪一个。已知 John 没有访问过同一个网格单元两次或以上。你看到中心单元上的足迹显示 John 的第一步是向北。
田野中恰好有一个宝藏单元,只有当你站在上面时才能识别出来。
图 G.1 展示了田野的一种可能情况。John 的足迹以箭头形式描绘在单元格中。宝藏单元描绘为 ‘G’。阴影单元格是你最初站立的位置。
图 G.1. 可能的情况
你的任务是在有限的步数内找到宝藏。在每一步中,你决定向北、西、南或东四个方向之一移动,并前往该方向的相邻单元格。当你移动到该单元格时,你可能会发现宝藏、John 的足迹或什么都没有。你不必跟随 John 的足迹。与 John 的路线不同,你可以多次访问同一个单元格。无论你如何探索,John 的足迹都保持不变。
交互
交互开始时,从标准输入接收一个整数 $n$ ($1 \le n \le 2000$),后跟一个换行符。整数 $n$ 表示田野被划分为 $(2n + 1) \times (2n + 1)$ 个网格单元。你最初位于从西端起第 $(n + 1)$ 个、从北端起第 $(n + 1)$ 个单元格上。接收到整数 $n$ 后,你可以开始你的探索步骤。
在每一步中,你发送一个字符表示移动方向:‘^’(脱字符)表示北,‘<’(小于号)表示西,‘v’(小写字母 v)表示南,‘>’(大于号)表示东。该字符应发送到标准输出,并后跟一个换行符。
作为响应,你将收到一个字符,指示你在移动到的单元格中发现的内容,后跟一个换行符。字符 ‘G’ 表示宝藏在那里。字符 ‘^’、‘<’、‘v’ 和 ‘>’ 分别表示 John 指向北、西、南和东的足迹。字符 ‘.’(点)表示该单元格既没有宝藏也没有足迹。
当你找到宝藏,即收到字符 ‘G’ 时,交互停止,你的程序应终止。你必须在 30000 步内到达宝藏单元。虽然跟随 John 的脚步肯定能引导你找到宝藏,但这可能需要超过 30000 步。
在以下任何一种情况下,你的提交将被判定为错误答案:
- 程序的输出格式无效。
- 你指定的移动方向超出了网格范围。
- 在到达宝藏单元后仍有额外输出。
- 你未能在 30000 步内到达宝藏单元。
田野的布局(宝藏单元的位置和 John 的足迹)在交互开始前是固定的;在交互过程中不会改变。
由于某些环境需要刷新输出缓冲区,请确保你的输出确实已发送。否则,你的输出将无法到达评测机。你将获得一个用于本地测试的命令行工具。更多详细信息,请参考竞赛系统中的说明。
样例
输入 1
2 ^ . < < ^ G
输出 1
^ < v < ^ ^
说明 1
在此交互中,假设了图 G.1 中的田野情况。