#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<cstring>
#define rep(i,s,t) for (i=s;i<=t;i++)
using namespace std;
double dp[1 << 16];
int cnt[1 << 16];
int i,j,m,n,k,l,o,top,x,y,mask,state;
double p;
inline double mul(double x,int k)
{
	if (k==0) return 1;
	if (k==1) return x;
	double kk = mul(x,k/2);
	kk = kk * kk;
	if (k % 2) return kk * x;
	else return kk;
}
int main()
{
	freopen("1.in","r",stdin);
	while (scanf("%d%d%lf",&n,&m,&p)!=EOF)
	{
		p /= 100.0;
		top = (1 << n) - 1;
		rep(i,1,m) 
		{
			scanf("%d%d",&x,&y);
			x--;
			y--;
			rep(j,1,top) 
			{
				if ((j & (1 << x)) && (j & (1 << y))==0) cnt[j]++;
				if ((j & (1 << y)) && (j & (1 << x))==0) cnt[j]++;
			}
		}
		j = 1;
		memset(dp,0,sizeof(dp));
		for (int state = 1;state <=top;state++)
		{
			dp[state] = 1;
			for (int t = (state-1) & state;t>(state-t);t = (t-1) & state)
				dp[state]-=dp[t]*mul(p,(cnt[state]-cnt[t]-cnt[state-t])/2);
		}
		printf("%.15f\n",dp[top]);
	}
	fclose(stdin);
	return 0;
}
