function submit(bytes32 Bets, bytes32 secretKey_P, bytes32 secretKey_D_hash) payable public {
        
        require(TicketPool[secretKey_D_hash].Time == 0);
        require(msg.value >= LimitBottom && msg.value <= LimitTop);

        uint  bet_total_amount = 0;
        for (uint i = 0; i < 29; i++) {
            if(Bets[i] == 0x00) continue;
            
            uint bet_amount_ = uint(Bets[i]).mul(10000000000000000);

            bet_total_amount = bet_total_amount.add(bet_amount_);
        }
        
        if(bet_total_amount == msg.value){
            SubmitTicket(secretKey_D_hash, msg.value, Bets, secretKey_P, msg.sender);
            TicketPool[secretKey_D_hash] = Game(Bets,secretKey_P,false,false,0,block.timestamp,msg.sender);
        }else{
            revert();
        }
        
    }