program main
	implicit none
    integer(16)::k,a,b
    integer(16)::ans
    
    read(*,*) k,a,b
    
    if (a+2>=b)then
    	ans=k+1
    else if (k<=a)then
    	ans=k+1
    else if (mod(a,2)==mod(k,2))then
    	ans=a+(k-a)*(b-a)/2_16 +1
    else
    	ans=a+((k-a+1_16)/2_16)*(b-a)
    end if
    
    write(*,*) ans
    
    stop
end program main