Linus Torvalds, o criador do sistema operativo Linux, decidiu confiar-lhe a manutenção do código-base do sistema. Contudo, como gosta de experimentar, decidiu reescrever alguns dos comandos mais populares e colocá-los em produção.
Esta semana, está a reescrever os comandos pwd (print working directory) e cd (change directory). A sua intenção é que os comandos funcionem de acordo com a entrada do utilizador:
Se o utilizador escrever pwd - o programa deve imprimir o diretório de trabalho atual.
Se o utilizador escrever cd folder - o programa deve mudar para essa pasta:
If the folder is .. - it means that the program should move to the parent directory. So, if we’re at directory /usr/local/bin/, the program should move to /usr/local/.
If the folder is . - it means that the program should stay in the current directory.
If the folder starts with /, it means that the program should change the absolute path of the directory - not the relative. So, if we’re at directory /usr/local/bin/, and the input was cd /dev, the program should move to /dev/.
If the folder is a name (Latin letters or numbers) - the program should move to that directory relative to the current one. So, if we’re at directory /usr/local/bin/, and the input was cd ../lib, the program should move to /usr/local/lib/.
- Se a pasta for .., significa que o programa deve mudar para o diretório-pai. Portanto, se estivermos no diretório /usr/local/bin/, o programa deve passar para /usr/local/.
Entrada
A primeira linha da entrada contém um único inteiro n (1 ≤ n ≤ 100), que representa o número de comandos.
As próximas n linhas contêm os comandos. É garantido que cada comando não excede 200 caracteres.
Saída
O programa deve imprimir o resultado de todos os comandos pwd, cada um em sua própria linha.
Exemplos
Entrada
Saída
5
pwd
cd usr/local/bin
cd ..
pwd
cd /dev
/
/usr/local/
7
pwd
cd /home/anna
pwd
cd ..
pwd
cd anna/../bob
pwd