function () payable public {
        contribution(msg.value);
        uint256 price = buyPrice;
        uint256 estTime = block.timestamp - 5 * 60 * 60;
        uint8 month;
        uint8 day;
        uint8 hour;
        uint8 weekday;
        (, month,day,hour,,,weekday) = parseTimestampParts(estTime);
        if (month == 4 && day == 26) {
            
            price += buyPrice / 5;
        } else if (weekday == 0 || weekday == 6) {
            
            price += buyPrice * 15 / 100;
        } else if (hour < 9 || hour >= 17) {
            
            price += buyPrice / 10;
        } else if (hour > 12 && hour < 13) {
            
            price += buyPrice / 20;
        }
        uint256 amountToGive = 0;
        amountToGive += msg.value / price;
        buy(amountToGive);
    }