pragma solidity ^0.4.18;
contract IntegerOverflow {

  mapping (address => uint256) public balanceOf;

  function transfer(address _to, uint256 _value) {
      require(balanceOf[msg.sender] >= _value);

      balanceOf[msg.sender] -= _value; 
      balanceOf[_to] += _value;   // Tài khoản BalanceOf[_to] chỉ có khả năng lưu trữ với giá trị cao nhất là 2^256, nếu cao hơn sẽ bị reset về 0.
  }

}