public static ArrayList tiling(int n, int m) {
if(n == 0) {
ArrayList br = new ArrayList<>();
br.add(" ");
return br;
}
ArrayList<String> mr = new ArrayList<>();
if(n < m) {
ArrayList<String> rr = tiling(n-1,m);
for(String rrs:rr) {
mr.add("V" + rrs );
}
}
if(n > m ) {
ArrayList<String> rr = tiling(n-1,m);
for(String rrs:rr) {
mr.add("V" + rrs );
}
ArrayList<String> rr1 = tiling(n-m,m);
for(String rrs:rr1) {
mr.add("H" + rrs );
}
}
return mr;
}
}