#include <stdio.h> 
/* Define the trade structure */
struct trade {double price; int number;};
/* Define constructor function */
struct trade* construct_trade (double price, int number) {
  struct trade *tptr;
  tptr = (struct trade*) malloc (sizeof (struct trade));
  tptr -> price = price;
  tptr -> number = number;
  return tptr;
}
/* Define readers */
double read_trade_price (struct trade *tptr) {return tptr -> price;}
int read_trade_number (struct trade *tptr) {return tptr -> number;}
/* Define writers */
void write_trade_price (double price, struct trade *tptr) {
  tptr -> price = price;
}
void write_trade_number (int number, struct trade *tptr) {
  tptr -> number = number;
}
/* Define value-computing function */
double trade_price (struct trade *tptr) {
  return read_trade_price (tptr) * read_trade_number (tptr);
}
/* Define trade array */
struct trade *trade_pointers[100];
main ( ) {
  /* Declare various variables */
  int limit, counter, number;
  double price, sum = 0.0;
  /* Read numbers and stuff them into array */
  for (limit = 0;
       2 == scanf ("%lf%i", &price, &number);
       ++limit)
    trade_pointers[limit] = construct_trade (price, number);
  /* Display value of shares traded */
  for (counter = 0; counter < limit; ++counter)
    sum = sum + trade_price(trade_pointers[counter]);
  printf ("The total value of the %i trades is %f.\n",
                                  limit,       sum);
}
