# 题目

## Description

Consider equations having the following form:
a1x1 3+ a2x2 3+ a3x3 3+ a4x4 3+ a5x5 3=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.

Determine how many solutions satisfy the given equation.

## Input

The only line of input contains the 5 coefficients a1, a2, a3, a4, a5, separated by blanks.

## Output

The output will contain on the first line the number of the solutions for the given equation.

37 29 41 43 47

654

# 代码

```/*
By:OhYee
Github:OhYee
HomePage:http://www.oyohyee.com
Email:oyohyee@oyohyee.com
Blog:http://www.cnblogs.com/ohyee/

かしこいかわいい？
エリーチカ！

*/

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <string>
#include <iostream>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
using namespace std;

//DEBUG MODE
#define debug 0

//循环
#define REP(n) for(int o=0;o<n;o++)

const int maxn = 6250001*5;
unsigned char cnt[maxn*2];

bool Do() {
int a[5];
REP(5)
if(scanf("%d",&a[o]) == EOF)
return false;

memset(cnt,0,sizeof(cnt));

//map<long long,int> m;
for(int i = -50;i <= 50;i++)
for(int j = -50;j <= 50;j++)
if(i != 0 && j != 0) {
long long temp = maxn + a[0] * i*i*i + a[1] * j*j*j;
cnt[temp]++;
}

int ans = 0;
for(int i = -50;i <= 50;i++)
for(int j = -50;j <= 50;j++)
for(int k = -50;k <= 50;k++)
if(i != 0 && j != 0 && k != 0) {
long long temp = maxn -(a[2] * i*i*i + a[3] * j*j*j + a[4] * k*k*k);
ans += cnt[temp];
}

printf("%d\n",ans);
return true;
}

int main() {
while(Do());
return 0;
}
```