



from __future__ import annotations

import math





def      __snake_case	(			_UpperCAmelCase   , _UpperCAmelCase				):
    __a						       =				u
    for i in range(1   , _UpperCAmelCase				):
        __a						       =				temp * (u - i)
    return temp





def      __snake_case	(			):
    __a						       =				int(input('''enter the numbers of values: '''				)				)
    __a						       =				[]
    for _ in range(_UpperCAmelCase				):
        y.append([]				)
    for i in range(_UpperCAmelCase				):
        for j in range(_UpperCAmelCase				):
            y[i].append(_UpperCAmelCase				)
            __a						       =				0

    print('''enter the values of parameters in a list: '''				)
    __a						       =				list(map(_UpperCAmelCase   , input().split()				)				)

    print('''enter the values of corresponding parameters: '''				)
    for i in range(_UpperCAmelCase				):
        __a						       =				float(input()				)

    __a						       =				int(input('''enter the value to interpolate: '''				)				)
    __a						       =				(value - x[0]) / (x[1] - x[0])

    # for calculating forward difference table

    for i in range(1   , _UpperCAmelCase				):
        for j in range(n - i				):
            __a						       =				y[j + 1][i - 1] - y[j][i - 1]

    __a						       =				y[0][0]
    for i in range(1   , _UpperCAmelCase				):
        summ += (ucal(_UpperCAmelCase   , _UpperCAmelCase				) * y[0][i]) / math.factorial(_UpperCAmelCase				)

    print(f'the value at {value} is {summ}'				)


if __name__ == "__main__":
 main()










from collections import defaultdict

from graphs.minimum_spanning_tree_prims import prisms_algorithm as mst





def      __snake_case	(			):
    __a       ,   __a						       =				9, 14  # noqa: F841
    __a						       =				[
        [0, 1, 4],
        [0, 7, 8],
        [1, 2, 8],
        [7, 8, 7],
        [7, 6, 1],
        [2, 8, 2],
        [8, 6, 6],
        [2, 3, 7],
        [2, 5, 4],
        [6, 5, 2],
        [3, 5, 14],
        [3, 4, 9],
        [5, 4, 10],
        [1, 7, 11],
    ]

    __a						       =				defaultdict(_UpperCAmelCase				)
    for nodea, nodea, cost in edges:
        adjancency[nodea].append([nodea, cost]				)
        adjancency[nodea].append([nodea, cost]				)

    __a						       =				mst(_UpperCAmelCase				)

    __a						       =				[
        [7, 6, 1],
        [2, 8, 2],
        [6, 5, 2],
        [0, 1, 4],
        [2, 5, 4],
        [2, 3, 7],
        [0, 7, 8],
        [3, 4, 9],
    ]

    for answer in expected:
        __a						       =				tuple(answer[:2]				)
        __a						       =				tuple(edge[::-1]				)
        assert edge in result or reverse in result





