program EDPCC
    implicit none
    integer(8)::N,i,j,flg,flg_next,calced
    integer(8),allocatable,dimension(:,:)::H
    integer(8),allocatable,dimension(:)::dp
    read(5,*)N
    allocate(H(3,N))
    allocate(dp(N))
    do i=1,N
        read(5,*)(H(j,i),j=1,3)
    end do

    flg=0
    do i=1,N
        calced=0
        do j=1,3
            if(j/=flg)then
                if(calced==0)then
                    if(i==1)then
                        dp(i)=H(j,i)
                        flg_next=j
                    else
                        dp(i)=dp(i-1)+H(j,i)
                        flg_next=j
                    end if
                    calced=1
                else
                    if(i==1)then
                        if(H(j,i)>dp(i))then
                            dp(i)=H(j,i)
                            flg_next=j
                        end if
                    else if(dp(i-1)+H(j,i)>dp(i))then
                        dp(i)=dp(i-1)+H(j,i)
                        flg_next=j
                    end if
                end if
            end if
        end do
        flg=flg_next
    end do

    print'(i0)',dp(N)
end program EDPCC