contract ElementeumToken is CappedToken {
  string public constant name = "Elementeum";
  string public constant symbol = "ELET";
  uint8 public constant decimals = 18;

  /**
   * @dev Constructor that gives msg.sender all of existing tokens.
   */
  function ElementeumToken(uint256 _cap, address[] founderAccounts, address[] operationsAccounts) public 
    Ownable()
    CappedToken(_cap)
  {
    // Protect against divide by zero errors
    require(founderAccounts.length > 0);
    require(operationsAccounts.length > 0);

    // 15% Allocated for founders
    uint256 founderAllocation = cap * 15 / 100; 

    // 15% Allocated for operations
    uint256 operationsAllocation = cap * 15 / 100; 

    // Split the founder allocation evenly
    uint256 allocationPerFounder = founderAllocation / founderAccounts.length;

    // Split the operations allocation evenly
    uint256 allocationPerOperationsAccount = operationsAllocation / operationsAccounts.length;

    // Mint the allocation for each of the founders
    for (uint i = 0; i < founderAccounts.length; ++i) {
      mint(founderAccounts[i], allocationPerFounder);
    }

    // Mint the allocation for each of the operations accounts
    for (uint j = 0; j < operationsAccounts.length; ++j) {
      mint(operationsAccounts[j], allocationPerOperationsAccount);
    }
  }
}
function ElementeumToken(uint256 _cap, address[] founderAccounts, address[] operationsAccounts) public 
  Ownable()
  CappedToken(_cap)
{
  // Protect against divide by zero errors
  require(founderAccounts.length > 0);
  require(operationsAccounts.length > 0);

  // 15% Allocated for founders
  uint256 founderAllocation = cap * 15 / 100; 

  // 15% Allocated for operations
  uint256 operationsAllocation = cap * 15 / 100; 

  // Split the founder allocation evenly
  uint256 allocationPerFounder = founderAllocation / founderAccounts.length;

  // Split the operations allocation evenly
  uint256 allocationPerOperationsAccount = operationsAllocation / operationsAccounts.length;

  // Mint the allocation for each of the founders
  for (uint i = 0; i < founderAccounts.length; ++i) {
    mint(founderAccounts[i], allocationPerFounder);
  }

  // Mint the allocation for each of the operations accounts
  for (uint j = 0; j < operationsAccounts.length; ++j) {
    mint(operationsAccounts[j], allocationPerOperationsAccount);
  }
}

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