void main(){
  import std.stdio, std.string, std.conv, std.algorithm;

  int n, k; rd(n, k);
  long tot=0;
  for(int a=1; a<=n; a++){
    if(a%k==0){
      auto y=(n/k).to!(long);
      tot+=y*y;
    }else{
      auto x=k-a%k;
      if((x*2)%k==0){
        if(n>=x){
          auto y=(n/k+(n%k==0 ? 0 : 1)).to!(long);
          tot+=y*y;
        }
      }
      // writeln(a, tot);
    }
  }
  writeln(tot);

}


void rd(T...)(ref T x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  assert(l.length==x.length);
  foreach(i, ref e; x) e=l[i].to!(typeof(e));
}
