Cn4,,,
 
        
        #include <bits/stdc++.h>
using namespace std;
int main() {
    long double x;
    while (cin >> x) {
        long double v = (x-3)*(x-5)*(x-6)*(x-7)/(-6.0) + 5*(x-3)*(x-4)*(x-6)*(x-7)/4.0
            + 15*(x-3)*(x-4)*(x-5)*(x-7)/(-6.0) + 35*(x-3)*(x-4)*(x-5)*(x-6)/24;
        cout << (long long)(v+0.5) << endl;
    }
    return 0;
}
 
        
        #include <stdio.h>
int main(){
    int P;
    while(scanf(“%d”, &P) != EOF){
        int left = 0; 
                // 固定一点,作一条可旋转的分割线,记录由分割线两边的点构成的连线与分割线的交点
        int right = P - 2;
        int sum = 0;
        while(right != 0){
            sum += left * right;
            left ++;
            right –; 
                        // 模拟分割线的绕转
        }
        sum *= P; 
                // 每个点都同样做一次
        sum /= 4; 
                // 应为除二再除二 第一个除二是分割线的固定点和非固定点可交换 第二个除二是分割线和连线的地位可能互换
        printf(“%d\n”, sum);
    }
    return 0;
}
Lagrange polynomial