function unlockTokensAmount(address _participant) internal returns (uint _tokensAmount) {
	    
		require(threeHotHoursTokens[_participant] > 0);
		
		
        if(block.timestamp < firstMonthEnd && isTokensTaken[_participant][FIRST_MONTH] == false) {
            
            return getTokens(_participant, FIRST_MONTH.add(1)); 
        } 
        
        
        if(((block.timestamp >= firstMonthEnd) && (block.timestamp < secondMonthEnd)) 
            && isTokensTaken[_participant][SECOND_MONTH] == false) {
            
            return getTokens(_participant, SECOND_MONTH.add(1)); 
        } 
        
        
        if(((block.timestamp >= secondMonthEnd) && (block.timestamp < thirdMonthEnd)) 
            && isTokensTaken[_participant][THIRD_MONTH] == false) {
            
            return getTokens(_participant, THIRD_MONTH.add(1)); 
        } 
        
        
        if(((block.timestamp >= thirdMonthEnd) && (block.timestamp < fourthMonthEnd)) 
            && isTokensTaken[_participant][FORTH_MONTH] == false) {
            
            return getTokens(_participant, FORTH_MONTH.add(1)); 
        } 
        
        
        if(((block.timestamp >= fourthMonthEnd) && (block.timestamp < fifthMonthEnd)) 
            && isTokensTaken[_participant][FIFTH_MONTH] == false) {
            
            return getTokens(_participant, FIFTH_MONTH.add(1)); 
        } 
        
        
        if((block.timestamp >= fifthMonthEnd) 
            && isTokensTaken[_participant][SIXTH_MONTH] == false) {
            return getTokens(_participant, SIXTH_MONTH.add(1)); 
        }
    }