/* package whatever; // don't place package name! */ 
 
import  java.util.* ; 
import  java.time.* ; 
import  java.time.temporal.* ; 
import  java.time.format.* ; 
 
/* Name of the class has to be "Main" only if the class is public. */ 
class  Ideone
{ 
	{ 
        LocalDate dt =  LocalDate.of ( 2000 , 1 , 1 ) ; 
        printWeekFields( dt, WeekFields.ISO ) ; 
        printWeekFields( dt, WeekFields.of ( DayOfWeek.SUNDAY , 1 ) ) ; 
    } 
 
    static  void  printWeekFields( LocalDate dt, WeekFields wf)  { 
        System .
out .
println ( "\n -------------\n Campos para "  +  dt 
+  " (primeiro dia da semana: "                          +  wf.
getFirstDayOfWeek ( ) .
getDisplayName ( TextStyle.
FULL , 
new  Locale ( "pt" , 
"BR" ) )  +  ", mínimo de dias na primeira semana: "                          +  wf.getMinimalDaysInFirstWeek ( )  +  ")" ) ; 
        System .
out .
println ( "semana "  +  dt.
get ( wf.
weekOfWeekBasedYear ( ) )  +  " do week-based year "  +  dt.
get ( wf.
weekBasedYear ( ) ) ) ;          System .
out .
println ( "semana dentro do mês (usando a definição de semana do WeekFields): "  +  dt.
get ( wf.
weekOfMonth ( ) ) ) ;          System .
out .
println ( "semana do mês (usando o dia 1 como o início da primeira semana): "  +  dt.
get ( ChronoField.
ALIGNED_WEEK_OF_MONTH ) ) ;      } 
} 
 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS50aW1lLio7CmltcG9ydCBqYXZhLnRpbWUudGVtcG9yYWwuKjsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CiAgICAgICAgTG9jYWxEYXRlIGR0ID0gTG9jYWxEYXRlLm9mKDIwMDAsIDEsIDEpOwogICAgICAgIHByaW50V2Vla0ZpZWxkcyhkdCwgV2Vla0ZpZWxkcy5JU08pOwogICAgICAgIHByaW50V2Vla0ZpZWxkcyhkdCwgV2Vla0ZpZWxkcy5vZihEYXlPZldlZWsuU1VOREFZLCAxKSk7CiAgICB9CgogICAgc3RhdGljIHZvaWQgcHJpbnRXZWVrRmllbGRzKExvY2FsRGF0ZSBkdCwgV2Vla0ZpZWxkcyB3ZikgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG4tLS0tLS0tLS0tLS0tXG5DYW1wb3MgcGFyYSAiICsgZHQgKyAiIChwcmltZWlybyBkaWEgZGEgc2VtYW5hOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICsgd2YuZ2V0Rmlyc3REYXlPZldlZWsoKS5nZXREaXNwbGF5TmFtZShUZXh0U3R5bGUuRlVMTCwgbmV3IExvY2FsZSgicHQiLCAiQlIiKSkgKyAiLCBtw61uaW1vIGRlIGRpYXMgbmEgcHJpbWVpcmEgc2VtYW5hOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICsgd2YuZ2V0TWluaW1hbERheXNJbkZpcnN0V2VlaygpICsgIikiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInNlbWFuYSAiICsgZHQuZ2V0KHdmLndlZWtPZldlZWtCYXNlZFllYXIoKSkgKyAiIGRvIHdlZWstYmFzZWQgeWVhciAiICsgZHQuZ2V0KHdmLndlZWtCYXNlZFllYXIoKSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigic2VtYW5hIGRlbnRybyBkbyBtw6pzICh1c2FuZG8gYSBkZWZpbmnDp8OjbyBkZSBzZW1hbmEgZG8gV2Vla0ZpZWxkcyk6ICIgKyBkdC5nZXQod2Yud2Vla09mTW9udGgoKSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigic2VtYW5hIGRvIG3DqnMgKHVzYW5kbyBvIGRpYSAxIGNvbW8gbyBpbsOtY2lvIGRhIHByaW1laXJhIHNlbWFuYSk6ICIgKyBkdC5nZXQoQ2hyb25vRmllbGQuQUxJR05FRF9XRUVLX09GX01PTlRIKSk7CiAgICB9Cn0=