#include <iostream> #include <fstream> #include <vector> #include <stack> #include <queue> #include <cstring> #include <cmath> #include <cstdlib> #include <cstdio> #include <algorithm> #include <unordered_map> #include <unordered_set> #include <map> #include <set> using namespace std; typedef long long ll; typedef pair<int,int> PP; /* freopen("input","r",stdin); freopen("output","w",stdout); */ int IN[100100]; int P[100100]; int V[100100]; int main() { ios::sync_with_stdio(false); int i,j,k,N,p; cin >> N; memset(IN,0,sizeof(IN)); for (i = 1;i <= N;i++) { cin >> V[i] >> P[i]; IN[V[i]]++; } queue<int> D; for (i = 1;i <= N;i++) { if (IN[i] == 0) { D.push(i); } } while (D.size() > 0) { j = D.front(); D.pop(); IN[V[j]]--; if (IN[V[j]] == 0) D.push(V[j]); V[j] = 0; } double res = 0.0; for (i = 1;i <= N;i++) { if (V[i] == 0) continue; double ans = 1.0; j = i; while (V[j] != 0) { ans *= double(P[j]) / 100.0; k = V[j]; V[j] = 0; j = k; } res += ans; } printf("%.2f\n", res); return 0; }