program sample
    implicit none
    character(100)::s
    integer(8) :: i,j,m,n,a,b,k,l
    integer(8),allocatable :: x(:),y(:)
  
    read(*,*) k,a,b
    if(a+2>=b .or. k<=a)then
        write(*,*)k+1
        stop
    end if
    l=k-a+1
    m=a+(l/2)*(b-a)+mod(l,2)
    write(*,*)m


  
    stop
end program sample
  

