@SuppressWarnings({ "unchecked", "unused" })
	private static LinkedList<LinkedList<Boolean>>testingList(int ln) {
		if(ln<0)return null;
		if(ln==0)
			return new LinkedList<LinkedList<Boolean>>();
		LinkedList<LinkedList<Boolean>> result= new LinkedList<LinkedList<Boolean>>();
		if(ln==1){
			LinkedList<Boolean> t, f;
			t= new LinkedList<Boolean>();
			t.add(true);
			result.add(t);
			f= new LinkedList<Boolean>();
			t.add(false);
			result.add(f);
			return result;
		}
		
		LinkedList<LinkedList<Boolean>> t, f;
		f = testingList(ln-1);
		t = (LinkedList<LinkedList<Boolean>>)f.clone();

		for(LinkedList<Boolean> l: f){
			l.addLast(false);
			result.addLast(l);
		}
		
		for(LinkedList<Boolean> l: t){
			l.addLast(true);
			result.addLast(l);
		}
		
		return result;
	}