require 'set'

n, m, percent = gets.split.map(&:to_i)
$prob = percent / 100.0

if n == 1
	puts 1
	exit
end

$edges = (1..m).map { gets.split.map(&:to_i) }
$cuts = []

(1..2**(n-1)-1).each do |bits|
	us = Set[*(1..n-1).select {|i| bits[i-1] == 1}]
	vs = Set[*(1..n).to_a] - us

	cut = 0
	$edges.each_with_index do |(i, j), k|
		cut |= (1 << k) if us.include?(i) ^ us.include?(j)
	end
	if cut == 0
		puts 0
		exit
	end

	$cuts << cut
end

$n = n

def check_cut(disconnected)
	$cuts.any? {|cut| cut & disconnected == cut}
end

def check_all_connected(connected)
	root = (0..$n-1).to_a	
	(0..$edges.size-1).each do |i|
		if connected[i] == 1
			u, v = $edges[i]
			u, v = v, u if v < u
			root[u-1] = root[v-1]
		end
	end
	(0..$n-1).each do |i|
		j = i
		j = root[j] until j == root[j]
		root[i] = j
	end
	root.uniq.size == 1
end

def f(k, disconnected)
	return 1 if k == $edges.size

	p1 = p2 = nil

	new_disconnected = disconnected | (1 << k)
	if check_cut(new_disconnected)
		p1 = 0
	else
		p1 = $prob * f(k+1, disconnected | (1 << k))
	end

	connected = ((1 << k + 1) - 1) - disconnected
	if check_all_connected(connected)
		p2 = (1 - $prob)
	else
		p2 = (1 - $prob) * f(k+1, disconnected)
	end

	p1 + p2
end

p f(0, 0)