#include <stdio.h>
#include <stdlib.h>

unsigned long long f(unsigned long long x){
    if (x%2==0)
       return x/2;
    else
        return 3*x+1;
}

int main(){
    unsigned int i, j, sum, *ii, cnt, k, l, m;
    unsigned long long temp, *jj;
    while (scanf("%lu%lu",&i,&j)!=EOF)
    {
          m=1;
          cnt=i;
          sum=0;
          ii=(unsigned int*)calloc(j-i+1, sizeof(unsigned int));
          for (temp=(unsigned long long)cnt;cnt<=j;cnt++)
          {
              temp=(unsigned long long)cnt;
              if (ii[cnt-i]!=0)
                 continue;
              for (k=1,temp=(unsigned long long)cnt,jj=(unsigned long long *)calloc(1000,sizeof(unsigned long long));1;k++)
              {
                  free(jj);
                  jj=(unsigned long long *)calloc(1000,sizeof(unsigned long long));
                  if (cnt==1)
                  {
                     ii[0]=1;
                     break;
                  }
                  jj[k-1]=temp;
                  temp=f(temp);
                  if (temp > (unsigned long long)j || temp<(unsigned long long) i)
                     continue;
                  if (ii[temp-i]!=0 || temp == 1)
                  {
                     for (l=k;l>=1;l--)
                     {
                         if (jj[l-1]>(unsigned long long)j || jj[l-1]<(unsigned long long)i)
                         continue;
                         else
                         ii[jj[l-1]-1]=ii[temp-i]+k-l+1;
                     }
                     if (m<ii[jj[k-1]-1])
                     {
                        m=ii[jj[k-1]-1];
                        printf("%lu\n",k);
                        printf("%lu,%lu,%lu\n",jj[k-1],k,k);
                        
                     }
                     break;
                  }
              }
          }
          free(ii);
    }
    return 0;
}