package main import ( "fmt" "bufio" "os" "strconv" ) func main() { n := nextInt() var p[2000] float64 var q[2000] float64 for i := 0; i < n; i++ { p[i] = float64(nextInt()) q[i] = float64(nextInt()) } ans := 0.0 for t := 0; t < 50000; t++ { best := -1 bestp := -1.0 for i := 0; i < n; i++ { findp := p[i] * q[i] if (findp > bestp) { bestp = findp best = i } } ans += p[best] * (q[best] / 100.0) * (float64(t) + 1.0) p[best] *= (100 - q[best]) / 100 } fmt.Println(ans / 1000) } var s = bufio.NewScanner(os.Stdin) func next() string { s.Split(bufio.ScanWords) s.Scan() return s.Text() } func nextLine() string { s.Split(bufio.ScanLines) s.Scan() return s.Text() } func nextInt() int { i, e := strconv.Atoi(next()) if e != nil { panic(e) } return i } func nextLong() int64 { i, e := strconv.ParseInt(next(), 10, 64) if e != nil { panic(e) } return i }