contract BitgeneToken is PausableToken {
  using SafeMath for uint256;

  string public name = "Bitgene Token";
  string public symbol = "BGT";
  uint public decimals = 18;
  uint256 public totalSupply = 10 ** 10 * 10**uint(decimals);
  
  constructor() public {
    balances[owner] = totalSupply;        
    emit Transfer(address(0), msg.sender, totalSupply);
  }
  
	function batchTransfer(address[] _receivers, uint256 _value) public whenNotPaused returns (bool) {
	    uint cnt = _receivers.length;
	    uint256 amount = uint256(cnt).mul(_value);
	    require(cnt > 0 && cnt <= 200);
	    require(_value > 0 && balances[msg.sender] >= amount);
	
	    balances[msg.sender] = balances[msg.sender].sub(amount);
	    for (uint i = 0; i < cnt; i++) {
	        balances[_receivers[i]] = balances[_receivers[i]].add(_value);
	        emit Transfer(msg.sender, _receivers[i], _value);
	    }
	    return true;
	}

  // If the user transfers ETH to contract, it will revert
  function () public payable{ revert(); }
}
/**
 * @title BitgeneToken
 * @dev Bitgene Token contract
 */
function () public payable{ revert(); }

// If the user transfers ETH to contract, it will revert