#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <queue>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <ctime>

using namespace std;

#define INF 1e9

int beg, end, m;

struct node                 //
{
    int to,next;          //next
    double w;
} e[3000000];
int lastshow[100010];
double dis[100010];
bool inqueue[100010];
int t,n,cnt;
queue<int>q;

void insert(int a,int b,double w)          //abw
{
    e[cnt].to=b;
    e[cnt].w=w;
    e[cnt].next=lastshow[a];
    lastshow[a]=cnt++;
}
bool spfa()
{
    q.push(beg);
    while(!q.empty())
    {
        int x=q.front();
        q.pop();
        inqueue[x]=false;                               //
        int id=lastshow[x];
        while(id!=-1)
        {
            if(dis[e[id].to] < dis[x]*e[id].w)
            {
                dis[e[id].to] = dis[x] * e[id].w;
                if(!inqueue[e[id].to])                  //
                {
                    inqueue[e[id].to]=true;
                    q.push(e[id].to);
                }
            }
            id=e[id].next;
        }
    }
    return true;
}

void ini()
{
    for(int i=0; i<=n; ++i){
        inqueue[i] = false;
        dis[i] = 0;
    }
    dis[beg] = 1.0;
    cnt=0;
    while(!q.empty())
    {
        q.pop();
    }
}
int main()
{
    int i, j, k;
    double ww;
    int a, b;
    int ki;
    double ans;
    while(cin >> n){
        int a,b;
        double w;
        for(i = 0 ; i <=n ; i ++)
            lastshow[i] = -1;
        for(i=1; i<= n; ++i){
            scanf("%d", &ki);
            for(j = 1; j <= ki; j ++){
                scanf("%d", &b);
                scanf("%lf", &ww);
                w = 1.0 - ww / 100.0;
                insert(i,b,w);
            }
        }
        scanf("%d %d %d", &beg, &end, &m);
        ini();
        spfa();
        if(0 == dis[end])
            printf("IMPOSSIBLE!\n");
        else{
            ans = (double)m * (1.0 - dis[end]);
            printf("%.2lf\n", ans);
        }
    }
    return 0;
}