#include #include #include ifstream in("dream.in"); long unsigned left[11][4000]; long unsigned h,w; long unsigned akt[20]; long unsigned visit(long unsigned); long unsigned fuelle(long unsigned zeile, int pos) { long unsigned a=akt[zeile]; long unsigned res=0; while((a&(1<=0) pos--; if (pos<=-1) return visit(zeile+1); if (pos>0&&(!(a&(1<<(pos-1))))) { akt[zeile]=a|(3<<(pos-1)); res=fuelle(zeile,pos-1); //res=visit(zeile); akt[zeile]=a; } if (zeile>h>>w; if (h==0&&w==0) break; for (long unsigned i=0; i