import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.concurrent.ThreadLocalRandom;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDate today = LocalDate.now();
        
        ZonedDateTime zdtStart = today.atStartOfDay(zoneId)
                                    .with(LocalTime.of(16, 0));
        
        ZonedDateTime zdtEnd = today.plusDays(1)
                                    .atStartOfDay(zoneId)
                                    .with(LocalTime.of(2, 0));
        for(int i=0; i<=100; i++) {
	        ZonedDateTime zdtResult = 
	                Instant.ofEpochMilli(
	                            ThreadLocalRandom
	                            .current()
	                            .nextLong(
	                                        zdtStart.toInstant().toEpochMilli(), 
	                                        zdtEnd.toInstant().toEpochMilli()
	                                    )
	                        ).atZone(zoneId);
	        
	        LocalTime time = zdtResult.toLocalTime();
	        System.out.println(time);
        }
    }
}