program number_of_amidakuji
  implicit none
  integer(8), parameter   :: d = 10**9 + 7
  integer(8)              :: h, w, k, ans
  integer(8)              :: i, j
  integer(8), allocatable :: a(:,:), f(:)
  read(*,*) h, w, k
  allocate(a(0:h,0:w+1))
  allocate(f(-1:w))
  call fibonacci(f,w)
  a = 0
  a(0,1) = 1
  do i = 1, h
     do j = 1, w
        a(i,j) = mod(f(j-2)*f(w-j)*a(i-1,j-1),d) + mod(f(j-1)*f(w-j)*a(i-1,j),d) + mod(f(j-1)*f(w-j-1)*a(i-1,j+1),d)
        a(i,j) = mod(a(i,j),d)
     end do
  end do
  ans = a(h,k)
  deallocate(a,f)
  write(*,'(i0)') ans
  stop
contains
  subroutine fibonacci(f,n)
    implicit none
    integer(8), intent(in)    :: n
    integer(8), intent(inout) :: f(-1:n)
    integer(8)                :: i
    f = 0
    f(-1) = 0
    f(0) = 1
    f(1) = 1
    if (n .gt. 1) then
       do i = 2, n
          f(i) = f(i-1) + f(i-2)
       end do
    end if
    return
  end subroutine fibonacci
end program number_of_amidakuji