function winner(uint _theNumber, bytes32 newNumber) onlyOwner payable {
        require ((timeLimit+86400)<now && number == keccak256(_theNumber));
                
                uint8 add1 = uint8 (Tickets[ticketsSold/4].addr);
                uint8 add2 = uint8 (Tickets[ticketsSold/3].addr);
       
                uint8 time1 = uint8 (Tickets[ticketsSold/2].time);
                uint8 time2 = uint8 (Tickets[ticketsSold/8].time);
       
                uint winningNumber = uint8 (((add1+add2)-(time1+time2))*_theNumber)%ticketsSold;
                
                address winningTicket = address (Tickets[winningNumber].addr);
                
                uint winnings = uint (address(this).balance / 20) * 19;
                uint fees = uint (address(this).balance-winnings)/2;
                uint dividends = uint (address(this).balance-winnings)-fees;
                
                winningTicket.transfer(winnings);
                
                owner.transfer(fees);
                
                dividendsAccount.transfer(dividends);
                
                delete ticketsSold;
                timeLimit = now;
                number = newNumber;

    }