import java.util.Collections;
import java.util.Set;
import java.util.Vector;
import java.util.List;
public class Main {
public static void main
(String[] args
) {
char[][][] covers = { // book samples in 2D arrays
{{'_','_','_','_','_','_'},
{'|','X','X',' ',' ','|'},
{'|',' ',' ','X',' ','|'},
{'|','U','X',' ',' ','|'},
{'|','U',' ','x','X','|'},
{'-','-','-','-','-','-'}},
{{'~','_','_','_','_','_'},
{'|',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ','}'},
{'{',' ','H',' ',' ','|'},
{'|',' ',' ',' ',' ','|'},
{'~','-','~','-','-','-'}},
{{'_','_','_','_','_','_'},
{'|','p','y','f','g','|'},
{'|','c','r','l','a','|'},
{'|','o','e','u','i','|'},
{'|','d','h','t','n','|'},
{'-','-','-','-','-','-'}},
{{'~','~','~','~','~','~'},
{'{',' ',' ',' ',' ','}'},
{'{',' ',' ',' ',' ','}'},
{'{',' ',' ',' ',' ','}'},
{'{',' ',' ',' ',' ','}'},
{'~','~','~','~','~','~'}}
};
Main bc = new Main();
//Vector<Character>[][] C = (Vector<Character>[][]) new Vector[4][6];
List
<Character
>[][] C
= (List
<Character
>[][]) new List[4][6];
//turn the 2D array of chars into the appropriate type
for (int k = 0; k < 4; k++)
for (int i = 0; i < 6; i++) {
C[k][i] = new Vector<Character>();
for (int j = 0; j < 6; j++)
}
for (List<Character>[] A : C)
System.
out.
println(bc.
f(A
)); // f is d()
}
int f
(List
<Character
>[]c
){int s
=0,i
=3;for(c
[0].
addAll(c
[5]);i
>1;)S
(50*--i
-5,c
[0]);for(c
[5].
clear();i
<5;c
[5].
addAll(c
[i
++]))s
+=c
[i
].
remove(0)-c
[i
].
remove(4);for(S
(32,c
[5]);c
[5].
size()>0;i
++)S
(c
[5].
get(0),c
[5]);return i
-5-c
[0].
size()+s
;}void S
(int x,
List c
){c.
removeAll(Collections.
singleton((char)x
));}
}
aW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uczsKaW1wb3J0IGphdmEudXRpbC5TZXQ7CmltcG9ydCBqYXZhLnV0aWwuVmVjdG9yOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoKCQljaGFyW11bXVtdIGNvdmVycyA9IHsgCQkJLy8gYm9vayBzYW1wbGVzIGluIDJEIGFycmF5cwoJCQl7eydfJywnXycsJ18nLCdfJywnXycsJ18nfSwKCQkJeyd8JywnWCcsJ1gnLCcgJywnICcsJ3wnfSwKCQkJeyd8JywnICcsJyAnLCdYJywnICcsJ3wnfSwKCQkJeyd8JywnVScsJ1gnLCcgJywnICcsJ3wnfSwKCQkJeyd8JywnVScsJyAnLCd4JywnWCcsJ3wnfSwKCQkJeyctJywnLScsJy0nLCctJywnLScsJy0nfX0sCgoJCQl7eyd+JywnXycsJ18nLCdfJywnXycsJ18nfSwKCQkJeyd8JywnICcsJyAnLCcgJywnICcsJ3wnfSwKCQkJeyd8JywnICcsJyAnLCcgJywnICcsJ30nfSwKCQkJeyd7JywnICcsJ0gnLCcgJywnICcsJ3wnfSwKCQkJeyd8JywnICcsJyAnLCcgJywnICcsJ3wnfSwKCQkJeyd+JywnLScsJ34nLCctJywnLScsJy0nfX0sCgoJCQl7eydfJywnXycsJ18nLCdfJywnXycsJ18nfSwKCQkJeyd8JywncCcsJ3knLCdmJywnZycsJ3wnfSwKCQkJeyd8JywnYycsJ3InLCdsJywnYScsJ3wnfSwKCQkJeyd8JywnbycsJ2UnLCd1JywnaScsJ3wnfSwKCQkJeyd8JywnZCcsJ2gnLCd0JywnbicsJ3wnfSwKCQkJeyctJywnLScsJy0nLCctJywnLScsJy0nfX0sCgoJCQl7eyd+JywnficsJ34nLCd+JywnficsJ34nfSwKCQkJeyd7JywnICcsJyAnLCcgJywnICcsJ30nfSwKCQkJeyd7JywnICcsJyAnLCcgJywnICcsJ30nfSwKCQkJeyd7JywnICcsJyAnLCcgJywnICcsJ30nfSwKCQkJeyd7JywnICcsJyAnLCcgJywnICcsJ30nfSwKCQkJeyd+JywnficsJ34nLCd+JywnficsJ34nfX0KCQl9OwoKCQlNYWluIGJjID0gbmV3IE1haW4oKTsKCgkJLy9WZWN0b3I8Q2hhcmFjdGVyPltdW10gQyA9IChWZWN0b3I8Q2hhcmFjdGVyPltdW10pIG5ldyBWZWN0b3JbNF1bNl07CgkJTGlzdDxDaGFyYWN0ZXI+W11bXSBDID0gKExpc3Q8Q2hhcmFjdGVyPltdW10pIG5ldyBMaXN0WzRdWzZdOwoKCQkvL3R1cm4gdGhlIDJEIGFycmF5IG9mIGNoYXJzIGludG8gdGhlIGFwcHJvcHJpYXRlIHR5cGUKCQlmb3IgKGludCBrID0gMDsgayA8IDQ7IGsrKykKCQkJZm9yIChpbnQgaSA9IDA7IGkgPCA2OyBpKyspIHsKCQkJCUNba11baV0gPSBuZXcgVmVjdG9yPENoYXJhY3Rlcj4oKTsKCQkJCWZvciAoaW50IGogPSAwOyBqIDwgNjsgaisrKQoJCQkJCUNba11baV0uYWRkKG5ldyBDaGFyYWN0ZXIoY292ZXJzW2tdW2ldW2pdKSk7CgkJCX0KCgkJZm9yIChMaXN0PENoYXJhY3Rlcj5bXSBBIDogQykKCQkJU3lzdGVtLm91dC5wcmludGxuKGJjLmYoQSkpOyAvLyBmIGlzIGQoKQoKCX0KCQoJaW50IGYoTGlzdDxDaGFyYWN0ZXI+W11jKXtpbnQgcz0wLGk9Mztmb3IoY1swXS5hZGRBbGwoY1s1XSk7aT4xOylTKDUwKi0taS01LGNbMF0pO2ZvcihjWzVdLmNsZWFyKCk7aTw1O2NbNV0uYWRkQWxsKGNbaSsrXSkpcys9Y1tpXS5yZW1vdmUoMCktY1tpXS5yZW1vdmUoNCk7Zm9yKFMoMzIsY1s1XSk7Y1s1XS5zaXplKCk+MDtpKyspUyhjWzVdLmdldCgwKSxjWzVdKTtyZXR1cm4gaS01LWNbMF0uc2l6ZSgpK3M7fXZvaWQgUyhpbnQgeCxMaXN0IGMpe2MucmVtb3ZlQWxsKENvbGxlY3Rpb25zLnNpbmdsZXRvbigoY2hhcil4KSk7fQoJCn0=