/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

import java.time.* ;
import java.time.format.* ;
import java.time.temporal.* ;
import java.time.chrono.* ;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{

		System.out.println(
			
			LocalDate                             // Represent a date-only value without a time-of-day and without a time zone.
			.now(                                 // Determine the current date as seen through the wall-clock time used by people in certain region (a time zone).
			    ZoneId.of( "America/Montreal" )   // Real time zone names have names in the format of `Continent/Region`. Never use 2-4 letter pseudo-zones such as `IST`, `PST`, or `CST`, which are neither standardized nor unique.
			)                                     // Return a `LocalDate`.
			.with(                                // Move from one date another by passing a `TemporalAdjuster` implementation.
			    TemporalAdjusters                 // Class providing several implementations of `TemporalAdjuster`.
			    .firstDayOfNextMonth()            // This adjuster finds the date of the first of next month, as its name suggests.
			)                                     // Returns another `LocalDate` object. The original `LocalDate` object is unaltered.
			.toString()  

		);
	}
}