H, W, K = gets.split.map(&:to_i)
MOD = 1_000_000_007

pat = [true, false].repeated_permutation(W - 1).reject{|p| p.join.include?('truetrue')} # Row Patterns
rep = pat.map{|p| a = [*1 .. W]; p.each_with_index{|b, i| a[i], a[i + 1] = a[i + 1], a[i] if b}; a} # Replacements
dp = Array.new(H + 1){Array.new(W + 1, 0)} # dp[h][k] => Row h, 1 at k 
dp[0][1] = 1
[*0 ... H].product(rep).each do |h, r|
  r.each.with_index(1){|j, i| dp[h + 1][i] = (dp[h + 1][i] + dp[h][j]) % MOD}
end
puts dp[H][K]