Задачі
Шлях спелеолога
Шлях спелеолога
Печеру подано кубом, розбитим на \textbf{N} частинй по кожному виміру (тобто на \textbf{N}^3 кубічних клітинок). Кожна клітинка може бути або пустою, або повністю заповненою каменем. Виходячи з положення спалеолога у печері, потрібно знайти, яку мінімальну кількість переміщень по клітинкам йому потрібно, щоб вибратись на поверхню. Переходити з клітинки у клітинку можна, лише якщо вони обидві вільні і мають спільну грань.
\InputFile
У першому рядку міститься число \textbf{N} (1 ≤ \textbf{N} ≤ \textbf{30}). Далі йде \textbf{N} блоків. Блок складається з пустого рядка і \textbf{N} рядків по \textbf{N} символів: \textbf{#} позначає клітинку, заповнену каменями, точка - вільну клітинку. Початкове положення спалеолога позначено великою літерою \textbf{S}. Перший блок подає верхній рівень печери, досягнення довільної вільної його клітинки означає вихід на поверхню. Вихід на поверхню завжди можливий.
\OutputFile
Вивести одне число - довжину шляху до поверхні.
Вхідні дані #1
3 ### ### .## .#. .#S .#. ### ... ###
Вихідні дані #1
6