import java.util.Scanner ;
import java.util.Stack ;
import java.util.* ;
class Ideone {
public static void main
( String [ ] args
) { int [ ] inp = { 1 ,2 ,3 ,1 , 2 , 1 , 3 } ;
Map
< Integer , Integer
> h
= new HashMap
<> ( ) ; List< Integer> result = new ArrayList<> ( ) ;
for ( int i = inp.length - 1 ; i >= 0 ; -- i) {
int cur = inp[ i] ;
int next = - 1 ;
if ( h.containsKey ( cur) ) {
next = h.get ( cur) ;
}
h.put ( cur, i) ;
result.add ( next) ;
}
for ( int i = 0 ; i < inp.length ; ++ i) {
System .
out .
println ( "Number " + inp
[ i
] + " next occurence at index " + result.
get ( inp.
length - i
- 1 ) ) ; }
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwppbXBvcnQgamF2YS51dGlsLlN0YWNrOwppbXBvcnQgamF2YS51dGlsLio7CgpjbGFzcyBJZGVvbmUgewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIGludFtdIGlucCA9IHsxLDIsMywxLCAyLCAxLCAzfTsKICAgICAgICBNYXA8SW50ZWdlciwgSW50ZWdlcj4gaCA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBMaXN0PEludGVnZXI+IHJlc3VsdCA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGZvciAoaW50IGkgPSBpbnAubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgICAgaW50IGN1ciA9IGlucFtpXTsKICAgICAgICAgICAgaW50IG5leHQgPSAtMTsKICAgICAgICAgICAgaWYgKGguY29udGFpbnNLZXkoY3VyKSkgewogICAgICAgICAgICAgICAgbmV4dCA9IGguZ2V0KGN1cik7CiAgICAgICAgICAgIH0gICAKICAgICAgICAgICAgaC5wdXQoY3VyLCBpKTsKICAgICAgICAgICAgcmVzdWx0LmFkZChuZXh0KTsKICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaW5wLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTnVtYmVyICIgKyBpbnBbaV0gKyAiIG5leHQgb2NjdXJlbmNlIGF0IGluZGV4ICIgKyByZXN1bHQuZ2V0KGlucC5sZW5ndGggLSBpIC0gMSkpOwogICAgICAgIH0KICAgIH0KfQ==