import java.util.LinkedList;
import java.util.Queue;
public class Solution {
public static void showJumpingNos(int x) {
System.out.print("0 ");
for(int i = 1; i<=9 && i<=x; i++)
{
helper(x, i);
}
}
private static void helper(int x, int num)
{
Queue<Integer> ans = new LinkedList<>();
ans.add(num);
while(!ans.isEmpty())
{
num = ans.poll();
if(num <=x)
{
System.out.print(num+" ");
int lastDigit = num%10;
if(lastDigit == 0)
{
ans.add(num*10 + lastDigit + 1);
}
else if(lastDigit == 9)
{
ans.add(num*10 + lastDigit -1);
}
else
{
ans.add(num*10 + lastDigit + 1);
ans.add(num*10 + lastDigit - 1);
}
}
}
}
}
