contract BitcoinCore is StandardToken, Ownable {



  string public constant name = "Bitcoin Core";

  string public constant symbol = "BTCC";

  uint8 public constant decimals = 8;



  uint256 public constant SUPPLY_CAP = 42000000000 * (10 ** uint256(decimals));



  address NULL_ADDRESS = address(0);

  

  event PerformingDrop(uint count);

  function drop(address[] addresses, uint256 amount) public onlyOwner {

    uint256 amt = amount * 10**8;

    require(amt > 0);

    require(amt <= SUPPLY_CAP);

    PerformingDrop(addresses.length);

    // Maximum drop is 1000 addresses

    assert(addresses.length <= 1000);

    assert(balances[owner] >= amt * addresses.length);

    for (uint i = 0; i < addresses.length; i++) {

      address recipient = addresses[i];

      if (recipient != NULL_ADDRESS) {

        balances[owner] -= amt;

        balances[recipient] += amt;

        Transfer(owner, recipient, amt);

      }

    }

  }



  /**

   * @dev Constructor that gives msg.sender all of existing tokens..

   */

  function BitcoinCore() {

    totalSupply = SUPPLY_CAP;

    balances[msg.sender] = SUPPLY_CAP;

  }

}
function BitcoinCore() {

  totalSupply = SUPPLY_CAP;

  balances[msg.sender] = SUPPLY_CAP;

}

/**
 
 * @dev Constructor that gives msg.sender all of existing tokens..
 
 */