

def resolve():

    N, K = list(map(int, input().split()))



    A = [0] * K

    # a % K を決め打つと b % K, c % K のとるべき値が一意に決まることを利用します

    for i in range(1, N + 1):

        A[i % K] += 1



    res = 0

    for a in range(K):

        b = (K - a) % K

        c = (K - a) % K

        if (b + c) % K != 0:

            continue

        res += A[a] * A[b] * A[c]



    print(res)





if __name__ == "__main__":

    resolve()


def resolve():

    N, K = list(map(int, input().split()))



    # Kの倍数である数値の個数を数える

    a = 0

    for i in range(1, N + 1):

        if i % K == 0:

            a += 1



    # 余りがKの半分となる数値の個数を数える

    b = 0

    for i in range(1, N + 1):

        if i % K == K // 2:

            b += 1



    # 全ての要素がKの倍数の場合を足す

    ans = a * a * a

    if K % 2 == 0:

        # 全ての要素がK/2の場合を足す

        ans += b * b * b



    print(ans)





if __name__ == "__main__":

    resolve()

def resolve():
    N, K = list(map(int, input().split()))
    A = [0] * K
    # a % K を決め打つと b % K, c % K のとるべき値が一意に決まることを利用します
    for i in range(1, N + 1):
        A[i % K] += 1
    res = 0
    for a in range(K):
        b = (K - a) % K
        c = (K - a) % K
        if (b + c) % K != 0:
            continue
        res += A[a] * A[b] * A[c]
    print(res)


if __name__ == "__main__":
    resolve()

def resolve():
    N, K = list(map(int, input().split()))
    # Kの倍数である数値の個数を数える
    a = 0
    for i in range(1, N + 1):
        if i % K == 0:
            a += 1
    # 余りがKの半分となる数値の個数を数える
    b = 0
    for i in range(1, N + 1):
        if i % K == K // 2:
            b += 1
    # 全ての要素がKの倍数の場合を足す
    ans = a * a * a
    if K % 2 == 0:
        # 全ての要素がK/2の場合を足す
        ans += b * b * b
    print(ans)


if __name__ == "__main__":
    resolve()

-    A = [0] * K -    # a % K を決め打つと b % K, c % K のとるべき値が一意に決まることを利用します +    # Kの倍数である数値の個数を数える +    a = 0 -        A[i % K] += 1 -    res = 0 -    for a in range(K): -        b = (K - a) % K -        c = (K - a) % K -        if (b + c) % K != 0: -            continue -        res += A[a] * A[b] * A[c] -    print(res) +        if i % K == 0: +            a += 1 +    # 余りがKの半分となる数値の個数を数える +    b = 0 +    for i in range(1, N + 1): +        if i % K == K // 2: +            b += 1 +    # 全ての要素がKの倍数の場合を足す +    ans = a * a * a +    if K % 2 == 0: +        # 全ての要素がK/2の場合を足す +        ans += b * b * b +    print(ans)