#include<bits/stdc++.h>

using namespace std;

#define ll long long int
#define NN 100005
#define pb push_back
#define mp make_pair
#define INF (((ll)1000000000) * ((ll)1000000000))
#define inf 0x7fffffff
#define inff 100000
#define ff first
#define ss second
#define MOD 1000000007
#define fast cin.sync_with_stdio(0);cin.tie(0)
#define rep(i,N) for(int i=0;i<N;i++)
#define frep(i,a,b) for(int i=a;i<=b;i++)
#define pii pair<int,int>
#define fill(A,v) memset(A,v,sizeof(A))
#define setbits(x) __builtin_popcount(x)
#define print(A,j,k) for(int ii=j;ii<=k;ii++)cout<<A[ii]<<" ";cout<<"\n"
#define all(x) (x).begin(), (x).end()
#define gcd __gcd

vector<pair<int,double> > FORWARD[NN],rev[NN];
int f[NN],vis[NN];
int SCC[NN],ans[NN];
vector<pii > P;
//dp[i] denotes total vertices reachable from vertex i

int cnt;
void revdfs(int u) {
	vis[u]=1;
	for(int i=0;i<rev[u].size();i++)
		if(!vis[rev[u][i].ff])
			revdfs(rev[u][i].ff);
	f[u]=++cnt;
}

int leader;
int SCCcount;
int numvisited;
double ddans;
int final;
void dfs(int u) {
	//cout<<"visiting "<<u<<"\n";
	final=u;
	vis[u]=1;
	numvisited++;
	SCC[u]=leader;
	rep(i,FORWARD[u].size())
		if(vis[FORWARD[u][i].ff]==0) {
			ddans*=FORWARD[u][i].ss;
			dfs(FORWARD[u][i].ff);
		}
}


int main(int argc, char const *argv[])
{

	int T;
	T=1;
	while(T--) {
		int n,m;
		cin>>n;

		rep(i,n+1) {
			FORWARD[i].clear();
			rev[i].clear();
		}

		rep(i,n) {
			int b,p;
			cin>>b>>p;
			double pp=p;
            double d=pp/100;
            //cout<<d<<"\n";
			rev[b].pb(mp(i+1,d));
			FORWARD[i+1].pb(mp(b,d));
		}
	
		cnt=0;
		fill(vis,0);
		for(int i=n;i>=1;i--)
			if(!vis[i]) 
				revdfs(i);
			
		//finishing time of each vertex
		//print(f,1,n);

		P.clear();
		frep(i,1,n)
			P.pb(mp(f[i],i));
		sort(all(P));
		reverse(all(P));

		fill(vis,0);
		//print(vis,1,n);
		SCCcount=0;
		double fans=0;
		rep(i,P.size())  
			if(vis[P[i].ss]==0) {
				//cout<<"dfs from "<<P[i].ss<<"\n";
                ddans=1;
                numvisited=0;
				leader=++SCCcount;
				int begin=P[i].ss;
				dfs(P[i].ss);
				for(int i=0;i<FORWARD[final].size();i++)
					if(FORWARD[final][i].ff==begin)
						ddans*=FORWARD[final][i].ss;
				if(numvisited>=2)
					fans+=ddans;
			}
		
		printf("%0.2lf\n",fans);
	}

	return 0;
}