/* @JUDGE_ID: 10853LE 100 Java "Prob. 100 from TJ" */

/* @BEGIN_OF_SOURCE_CODE */

import java.io.*;
import java.util.*;

class Main 
{
	public static int hailstone(int k)
	{
		int count = 1;
		
		while (k != 1)
		{
			if (k % 2 == 0)
				k = k/2;
			else
				k = 3*k+1;
			count++;
		}
		
		return count;
        }

	static String ReadLn (int maxLg)  // utility function to read from stdin
	{
		byte lin[] = new byte [maxLg];
		int lg = 0, car = -1;
		String line = "";
		try
		{
		    while (lg < maxLg)
		    {
			car = System.in.read();
			if ((car < 0) || (car == '\n')) break;
			lin [lg++] += car;
		    }
		}
		catch (IOException e)
		{
		    return (null);
		}

		if ((car < 0) && (lg == 0)) return (null);  // eof
		return (new String (lin, 0, lg));
	}

	public static void main (String args[])  // entry point from OS
	{
		Main myWork = new Main();  // create a dinamic instance
		myWork.Begin();            // the true entry point
	}

	void Begin()
	{
		String input;
		StringTokenizer idata;
		int i, j, temp, max;

		while ((input = Main.ReadLn (255)) != null)
		{
			idata = new StringTokenizer (input);
			i = Integer.parseInt (idata.nextToken());
			j = Integer.parseInt (idata.nextToken());
			System.out.print(""+i + " "+j);
			max = 0;
			if(i > j) {
				temp = i;
				i = j;
				j = temp;
			}
			for(int k = i; k <= j; k++)
			{
				temp = hailstone(k);
				if(temp > max)
					max = temp;
			}
			System.out.println(" " + max);
		}
	}
}
/* @END_OF_SOURCE_CODE */

