#include <iostream>
using namespace std;

template<typename T>
T diff(T a, T b)
{
	static_assert(std::is_signed<T>::value);
  	return a-b;
}
	

int main() {
	diff<int>(3,2);
	diff<unsigned char> (1,2);
	return 0;
}