Problem:
Score : 300 points

Problem Statement

You are given integers N and K. Find the number of triples (a,b,c) of positive integers not greater than N such that a+b,b+c and c+a are all multiples of K.
The order of a,b,c does matter, and some of them can be the same.

Constraints

1 \leq N,K \leq 2\times 10^5

N and K are integers.

Input

Input is given from Standard Input in the following format:

N K

Output

Print the number of triples (a,b,c) of positive integers not greater than N such that a+b,b+c and c+a are all multiples of K.

Sample Input 1

3 2

Sample Output 1

9

(1,1,1),(1,1,3),(1,3,1),(1,3,3),(2,2,2),(3,1,1),(3,1,3),(3,3,1) and (3,3,3) satisfy the condition.

Sample Input 2

5 3

Sample Output 2

1

Sample Input 3

31415 9265

Sample Output 3

27

Sample Input 4

35897 932

Sample Output 4

114191

Solution in C# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp1
{
	class Program
	{
		static void Main(string[] args)
		{
			var inputs = Console.ReadLine().Split(' ').Select(input => int.Parse(input)).ToArray();
			var n = inputs[0];
			var k = inputs[1];

			var count = 0;

			// 和がk, 差がk
			var x1s = new List<int>();
			for (int a1 = 1; a1 <= n; a1++)
			{
				var a2 = k - (a1 % k);
				if (!(Math.Abs(a1 - a2) % k == 0 && (a1 + a2) % k == 0))
				{
					continue;
				}

				var a2Count = 0;
				for (int i = a2; i <= n; i += k)
				{
					a2Count++;
				}

				count += a2Count * a2Count;
			}

			Console.WriteLine(count);

			return;
		}
	}

}