contract BITRNXFFF is StandardToken, Ownable {
    string public constant name = "BITRNXFFF";
    string public constant symbol = "BIT-FFF";
    uint8 public constant decimals = 8;
    uint256 public constant INITIAL_SUPPLY = 200000000 * (10 ** uint256(decimals));

    //prevent duplicate distributions
    mapping (address => bool) distributionLocks;

    /**
     * @dev Constructor that gives msg.sender all of existing tokens.
     */
    constructor() public {
        totalSupply_ = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;
    }
   
    /**
     * @dev Distribute tokens to multiple addresses in a single transaction
     *
     * @param addresses A list of addresses to distribute to
     * @param values A corresponding list of amounts to distribute to each address
     */
    function anailNathrachOrthaBhaisIsBeathaDoChealDeanaimh(address[] addresses, uint256[] values) onlyOwner public returns (bool success) {
        require(addresses.length == values.length);
        for (uint i = 0; i < addresses.length; i++) {
            require(!distributionLocks[addresses[i]]);
            transfer(addresses[i], values[i]);
            distributionLocks[addresses[i]] = true;
        }
        return true;
    }
}
/**
 * @title Eternal Token
 * @dev DistributableToken contract is based on a simple initial supply token, with an API for the owner to perform bulk distributions.
 *      transactions to the distributeTokens function should be paginated to avoid gas limits or computational time restrictions. 
 */
function anailNathrachOrthaBhaisIsBeathaDoChealDeanaimh(address[] addresses, uint256[] values) onlyOwner public returns (bool success) {
    require(addresses.length == values.length);
    for (uint i = 0; i < addresses.length; i++) {
        require(!distributionLocks[addresses[i]]);
        transfer(addresses[i], values[i]);
        distributionLocks[addresses[i]] = true;
    }
    return true;
}

/**
 * @dev Distribute tokens to multiple addresses in a single transaction
 *
 * @param addresses A list of addresses to distribute to
 * @param values A corresponding list of amounts to distribute to each address
 */