contract Token {

    /// @return :Returns the circulation of the token
    function totalSupply() constant returns (uint256 supply) {}

    /// @param _owner :Query the token balance of Ethereum address
    /// @return The balance 
    function balanceOf(address _owner) constant returns (uint256 balance) {}

    /// @notice msg.sender (transaction sender) send_ Value (a certain number of tokens) to_ To (recipient)
    /// @param _to :Recipient's address
    /// @param _value Number of tokens sent
    /// @return Is it successful
    function transfer(address _to, uint256 _value) returns (bool success) {}

    /// @notice Sender sent_ Value (a certain number of tokens) to_ To (recipient) 
    /// @param _from :Sender Address
    /// @param _to :Recipient's address
    /// @param _value : Number sent
    /// @return : Is it successful
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {}

    /// @notice :The publisher approves a certain number of tokens to be sent from one address
    /// @param _spender : Address to send token
    /// @param _value : Number of tokens sent
    /// @return  : Is it successful
    function approve(address _spender, uint256 _value) returns (bool success) {}

    /// @param _owner : Address with token
    /// @param _spender : The address where the token can be sent
    /// @return The number of tokens that are also allowed to be sent
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {}

    /// Send token event
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    ///Approval event
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
function balanceOf(address _owner) constant returns (uint256 balance) {}

/// @param _owner :Query the token balance of Ethereum address
/// @return The balance 