function ethForKey(uint256 _keys) public view returns (uint256) {
      Round memory current = rounds[currentRound];
      uint256 c_key = (current.keys / decimals);
      
      
      if (c_key.mul(decimals) != current.keys) {
          c_key = c_key.add(1);
      }
      
      uint256 _price = price(c_key);
      uint256 remainKeys = c_key.mul(decimals).sub(current.keys);

      if (remainKeys >= _keys) {
          return _price.mul(_keys) / decimals;
      } 
      
      uint256 costEth = _price.mul(_keys) / decimals;
      _keys = _keys.sub(remainKeys);
      
      while(_keys >= decimals) {
          c_key = c_key.add(1);
          _price = price(c_key);
          costEth = costEth.add(_price);
          _keys = _keys.sub(decimals);
      }
    
      c_key = c_key.add(1);
      _price = price(c_key);

      costEth = costEth.add(_price.mul(_keys) / decimals);
      return costEth;
  }