Pagini recente » Cod sursa (job #2424935) | Cod sursa (job #1391635) | Cod sursa (job #2328351) | Cod sursa (job #2493457) | Cod sursa (job #1240515)
#include <fstream>
const char IN [ ] = "dreptunghiuri.in" ;
const char OUT [ ] = "dreptunghiuri.out" ;
const int MAX = 160014 ;
using namespace std;
ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;
int val1 [ MAX ] , val2 [ MAX ] , lim ;
long long sol ;
int main( )
{
int n , m ;
fin >> n >> m ;
sol = 1LL * ( n - 1 ) * n * ( m - 1 ) * m >> 2 ;
for ( int i = 1 ; i < n ; ++ i )
for ( int j = 1 ; i + j + 1 <= n ; ++ j )
{
val1 [ i * j ] += ( n - i - j ) ;
lim = max ( lim , i * j ) ;
}
for ( int i = 1 ; i < m ; ++ i )
for ( int j = 1 ; i + j + 1 <= m ; ++ j )
{
val2 [ i * j ] += ( m - i - j ) ;
lim = max ( lim , i * j ) ;
}
for ( int i = 1 ; i <= lim ; ++ i )
sol = sol + 1LL * val1 [ i ] * val2 [ i ] ;
fout << sol << '\n' ;
return 0;
}