MOD = 1_000_000_007
io = STDIN
H,W,K=io.gets.split.map(&:to_i)
# 0   1   2   3   縦棒番号に該当 W==4
#   0   1   2  　　横棒位置
# | - | - | - |
#  0   --- o
#  1   --1 o
#  2   -1- o
#  3   -11 x
#  4   1-- o
#  5   1-1 o
#  6   11- x
#  7   111 x
#
# 0   1   2      縦棒番号に該当 W==3
#   0   1     　　横棒位置
# | - | - |
#  0   -- o
#  1   -1 o
#  2   1- o
#  3   11 x
#
require 'set'
DP=Array.new(H+1){Array.new(W,0)}
def cal_masks
  masks=Set.new
  (2**(W-1)).times do |mask|
   next if (0...(W-1)).each_cons(2).map do |a,b|
     # p [a,b,mask[a] & mask[b]]
     mask[a] & mask[b]
   end.any?{|b|b==1}
   # p (0...(W-1)).map{|m|mask[m]}.join(",")
   masks << mask
  end
  masks
end
def countup(h,mask)
  (0...W).each do |w|
    if mask[w]==1
      DP[h+1][w]+=DP[h][w+1]
      DP[h+1][w]%=MOD
    else
      if mask[w-1]==1
        DP[h+1][w]+=DP[h][w-1]
        DP[h+1][w]%=MOD
      else
        DP[h+1][w]+=DP[h][w]
        DP[h+1][w]%=MOD
      end
    end
    # p [" DP",mask,w,mask[w],DP]
  end
  # exit
end
DP[0][0]=1
masks=cal_masks
# masks  #w=3:[0, 1, 2]
         #w=4[0, 1, 2, 4, 5]
H.times do |h|
  masks.each do |mask|
    if W==1
      DP[h+1][0]+=DP[h][0]
      DP[h+1][0]%=MOD
    else
      countup(h,mask)
    end
  end
end
require 'pp'
p DP[H][K.pred]
