public class test{
public static void main(String[] args) {
int n = 4;
findOptimalPath(n, 1, "");
}
public static void findOptimalPath(int n, int currLevel, String path) {
if (currLevel > n) {
System.out.println(path);
return;
}
for (int i = 1; i <= currLevel; i++) {
path += currLevel + " ";
}
path += "\n";
findOptimalPath(n, currLevel + 1, path);
}
}