#include <iostream>
#include <algorithm>
#include <math.h>

int Sign(double N){
	return N >= 0 ? 1 : -1;
}

double MakeHoge(double A,double B){
	int F = Sign(A);
	double AA = std::abs(A);

	double M = fmod(AA, B);
	double N = (AA - M) / B;

	if (B / 2 <= M)N++;

	return F*N*B;


}


int main(){
	double A = 0;
	double B = 0;

	A = 123, B = 12;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;
	A = 126, B = 12;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;
	A = -123, B = 12;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;
	A = -126, B = 12;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;
	A = 1.234, B = 0.01;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;
	A = 1.235, B = 0.01;
	std::cout <<"A="<<A<<','<<"B="<<B<<" -> "<< MakeHoge(A, B) << std::endl;	

	return 0;
}