#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <sstream>
#include <iomanip>
#include <queue>
#include <ctime>
using namespace std;
template <class T> void checkmin(T &t,T x){if (x < t) t = x;}
template <class T> void checkmax(T &t,T x){if (x > t) t = x;}
template <class T> void _checkmin(T &t, T x){if (t == -1) t = x; if (x < t) t = x;}
template <class T> void _checkmax(T &t, T x){if (t == -1) t = x; if (x > t) t = x;}
typedef pair <int,int> PII;
typedef pair <double,double> PDD;
typedef long long lld;
#define foreach(it,v) for (__typeof((v).begin()) it = (v).begin();it != (v).end();it++)
#define DEBUG(a) cout << #a" = " << (a) << endl;
#define DEBUGARR(a, n) for (int i = 0; i < (n); i++) { cout << #a"[" << i << "] = " << (a)[i] << endl; }
const int N = 14;
int n, m, p;
int mat[N][N];
int cnt[1 << N];
int ff[N];
int warn[1 << N];
double f[1 << N];

int gf(int x) {
	if (ff[x] == x) return x;
	return ff[x] = gf(ff[x]);
}

int main(){
#ifdef cwj
	freopen("in", "r", stdin);
#endif
	scanf("%d%d%d", &n, &m, &p);
	for (int i = 0; i < m; i++) {
		int x, y;
		scanf("%d%d", &x, &y);
		x--; y--;
		mat[x][y] = mat[y][x] = 1;
	}
	for (int mask = 0; mask < 1 << n; mask++) {
		cnt[mask] = 0;
		int last = -1;
		for (int i = 0; i < n; i++) ff[i] = i;
		for (int i = 0; i < n; i++) {
			if (1 << i & mask) {
				for (int j = i + 1; j < n; j++) {
					if (1 << j & mask && mat[i][j]) {
						if (gf(i) != gf(j)) {
							ff[ff[i]] = ff[j];
						}
						cnt[mask]++;
					}
				}
				last = gf(i);
			}
		}
		for (int i = 0; i < n; i++) {
			if (1 << i & mask && gf(i) != last) {
				warn[mask] = 1;
			}
		}
	}
	for (int mask = 1; mask < 1 << n; mask++) {
		f[mask] = 1;
		if (warn[mask]) {
			f[mask] = 0;
			continue;
		}
		for (int sub = (mask - 1) & mask; sub; sub = (sub - 1) & mask) {
			if ((sub ^ mask) <= sub) {
				f[mask] -= f[sub] * pow(p * 0.01, cnt[mask] - cnt[sub ^ mask] - cnt[sub]);
			}
		}
	}
//	DEBUGARR(f, 1 << n);
//	DEBUGARR(warn, 1 << n);
//	DEBUGARR(cnt, 1 << n);
	printf("%.12lf\n", f[(1 << n) - 1]);
}
