#include <stdio.h>
#include <assert.h>
#define MAX 100
double AplicaPol( int n, double q[MAX+1], double x ) {
int i; /* grau do monĂ´mio */
double pot, /* x^i */
soma; /* acumula soma dos monĂ´mios aplicados a x */
soma = 0; pot = 1;
for ( i = 0; i <= n; i++ ) {
soma = soma + q[i] * pot;
pot = pot * x;
}
return soma;
}
int main () {
int n, /* grau */
i; /* n. de elementos vistos */
double p[MAX+1], /* coeficientes do polinomio*/
x0, /* ponto */
pdex0;
scanf ( "%d", &n ); /* le tamanho da sequencia */
assert ( n <= MAX );
for ( i = 0; i <= n; i++ ) /* le cada coeficiente */
scanf ( "%lf", &p[i] );
scanf ( "%lf", &x0 ); /* leitura do ponto x0 */
pdex0 = AplicaPol( n, p, x0 );
printf("%g\n", pdex0 );
return 0;
}