def gs() STDIN.gets.chomp end
def gi() gets.to_i end
def gsmi() gets.chomp.split.map(&:to_i) end
 
def desc(ar) ar.sort!{|x,y|y<=>x} end
def min(a,b) a<=b ? a : b end
def max(a,b) a>=b ? a : b end
def sum(ar) ar.inject(:+) end


h,w,ki = gsmi #h<100, w<8, k<8
answer = Array.new(h+1){ Array.new(w){0} }
answer[0][0] = 1
mod = 1000000007

h.times do |i|
	(2**(w-1)).times do |j|
		next if (w-1).times.map{|k| ((j>>k)%4)==3}.any?{|v| v==true}
		
		perm = Array.new(w){|k| k }
		(w-1).times {|k| (perm[k],perm[k+1] = perm[k+1], perm[k]) if (j>>k)&1==1}
		w.times do |k|
			answer[i+1][perm[k]] += answer[i][k]
			answer[i+1][perm[k]] = answer[i+1][perm[k]] % mod
		end
	end
end

puts answer[h][ki-1]