function pay() private {
        
        uint balance = address(this).balance;
        uint128 money = 0;
        
        if(balance > prizeStageAmount) 
            money = uint128(balance - prizeStageAmount);

        
        uint128 moneyS = uint128(money*SUPPORT_PERCENT/100);
        support.send(moneyS);
        money -= moneyS;
        
        
        for(uint i=currentReceiverIndex; i<currentQueueSize; i++){

            Deposit storage dep = queue[i]; 

            if(money >= dep.expect){  
                    
                dep.depositor.send(dep.expect); 
                money -= dep.expect;          
                
                
                delete queue[i];
            
                
            }else{
                

                dep.depositor.send(money);      
                money -= dep.expect;            

                break;                     
            }

            if(gasleft() <= 50000)         
                break;                     
        }

        currentReceiverIndex = i; 
    }