package seventh;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class main {
// TODO Auto-generated method stub
solution();
}
private static void solution
() throws Exception {
int size
= Integer.
parseInt(st.
nextToken()); int count = 1;
while(size != 0) {
System.
out.
println("Simulation " + count
++); ArrayList<Character> cache = new ArrayList<Character>();
while (st.hasMoreTokens()) {
String input
= st.
nextToken(); for (int i = 0; i < input.length(); ++i) {
if (!cache.contains(input.charAt(i))) {
if (cache.size() < size)
cache.add(input.charAt(i));
else {
cache.remove(0);
cache.add(input.charAt(i));
}
} else {
int index = 0;
for(int x = 0; x < cache.size();++x) {
if(cache.get(x) == input.charAt(i))
index = x;
}
cache.remove(index);
cache.add(input.charAt(i));
}
}
for (int i = 0; i < cache.size(); ++i) {
System.
out.
print(cache.
get(i
)); }
}
size
= Integer.
parseInt(st.
nextToken()); }
}
}
cGFja2FnZSBzZXZlbnRoOwoKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOwppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKaW1wb3J0IGphdmEudXRpbC5TdHJpbmdUb2tlbml6ZXI7CgpwdWJsaWMgY2xhc3MgbWFpbiB7CgogICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uIHsKICAgICAgLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgogICAgICBzb2x1dGlvbigpOwogICB9CgogICBwcml2YXRlIHN0YXRpYyB2b2lkIHNvbHV0aW9uKCkgdGhyb3dzIEV4Y2VwdGlvbiB7CgogICAgICBCdWZmZXJlZFJlYWRlciBiciA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgIFN0cmluZ1Rva2VuaXplciBzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoYnIucmVhZExpbmUoKSk7CiAgICAgIGludCBzaXplID0gSW50ZWdlci5wYXJzZUludChzdC5uZXh0VG9rZW4oKSk7CiAgICAgIGludCBjb3VudCA9IDE7CiAgICAgIHdoaWxlKHNpemUgIT0gMCkgewogICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNpbXVsYXRpb24gIiArIGNvdW50KyspOwogICAgICAgICBzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoc3QubmV4dFRva2VuKCksICIhIik7CiAgICAgICAgIEFycmF5TGlzdDxDaGFyYWN0ZXI+IGNhY2hlID0gbmV3IEFycmF5TGlzdDxDaGFyYWN0ZXI+KCk7CiAgICAgICAgIHdoaWxlIChzdC5oYXNNb3JlVG9rZW5zKCkpIHsKICAgICAgICAgICAgU3RyaW5nIGlucHV0ID0gc3QubmV4dFRva2VuKCk7CiAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoKCk7ICsraSkgewogICAgICAgICAgICAgICBpZiAoIWNhY2hlLmNvbnRhaW5zKGlucHV0LmNoYXJBdChpKSkpIHsKICAgICAgICAgICAgICAgICAgaWYgKGNhY2hlLnNpemUoKSA8IHNpemUpCiAgICAgICAgICAgICAgICAgICAgIGNhY2hlLmFkZChpbnB1dC5jaGFyQXQoaSkpOwogICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgY2FjaGUucmVtb3ZlKDApOwogICAgICAgICAgICAgICAgICAgICBjYWNoZS5hZGQoaW5wdXQuY2hhckF0KGkpKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBpbnQgaW5kZXggPSAwOwogICAgICAgICAgICAgICAgICBmb3IoaW50IHggPSAwOyB4IDwgY2FjaGUuc2l6ZSgpOysreCkgewogICAgICAgICAgICAgICAgICAgICBpZihjYWNoZS5nZXQoeCkgPT0gaW5wdXQuY2hhckF0KGkpKQogICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHg7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgY2FjaGUucmVtb3ZlKGluZGV4KTsKICAgICAgICAgICAgICAgICAgY2FjaGUuYWRkKGlucHV0LmNoYXJBdChpKSk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGNhY2hlLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoY2FjaGUuZ2V0KGkpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgICAgICAgfQogICAgICAgICBzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoYnIucmVhZExpbmUoKSk7CiAgICAgICAgIHNpemUgPSBJbnRlZ2VyLnBhcnNlSW50KHN0Lm5leHRUb2tlbigpKTsKICAgICAgfQogICB9Cn0=