# Hackerrank Polynomials Solution

The * poly* tool returns the coefficients of a polynomial with the given sequence of roots.

```
print numpy.poly([-1, 1, 1, 10]) #Output : [ 1 -11 9 11 -10]
```

The * roots* tool returns the roots of a polynomial with the given coefficients.

```
print numpy.roots([1, 0, -1]) #Output : [-1. 1.]
```

The * polyint* tool returns an antiderivative (indefinite integral) of a polynomial.

```
print numpy.polyint([1, 1, 1]) #Output : [ 0.33333333 0.5 1. 0. ]
```

The * polyder* tool returns the derivative of the specified order of a polynomial.

```
print numpy.polyder([1, 1, 1, 1]) #Output : [3 2 1]
```

The * polyval* tool evaluates the polynomial at specific value.

```
print numpy.polyval([1, -2, 0, 2], 4) #Output : 34
```

The * polyfit* tool fits a polynomial of a specified order to a set of data using a least-squares approach.

```
print numpy.polyfit([0,1,-1, 2, -2], [0,1,1, 4, 4], 2)
#Output : [ 1.00000000e+00 0.00000000e+00 -3.97205465e-16]
```

The functions polyadd, polysub, polymul, and polydiv also handle proper addition, subtraction, multiplication, and division of polynomial coefficients, respectively.

**Task**

You are given the coefficients of a polynomial .

Your task is to find the value of at point .

**Input Format**

The first line contains the space separated value of the coefficients in .

The second line contains the value of .

**Output Format**

Print the desired value.

**Sample Input**

```
1.1 2 3
0
```

**Sample Output**

`3.0`

### Solution in python3

**Approach 1**.

```
import numpy
print(numpy.polyval(numpy.array(input().split(),float),int(input())))
```

**Approach 2**.

```
import numpy
print(numpy.polyval(tuple(map(float, input().split())), float(input())))
```

**Approach 3**.

```
import numpy
print (numpy.polyval(list(map(float, input().split())), float(input())))
```

### Solution in python

**Approach 1**.

```
import numpy as np
A = map(float,raw_input().split())
print np.polyval(A,input())
```

**Approach 2**.

```
import numpy
print numpy.polyval(map(float,raw_input().split()),float(raw_input()))
```

**Approach 3**.

```
import numpy
print numpy.polyval(map(float, raw_input().split()), float(raw_input()))
```