import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); BDAutomovil baseDatos = new BDAutomovil();
if (!sc.hasNextLine()) return;
String operacion
= sc.
nextLine().
trim();
if (!sc.hasNextLine()) return;
String[] datos
= sc.
nextLine().
split("\\s+");
if (datos.length < 5) {
return;
}
try {
int codigo
= Integer.
parseInt(datos
[0]); int kilometraje
= Integer.
parseInt(datos
[4]);
Automovil autoIngresado = new Automovil(codigo, marca, placa, modelo, kilometraje);
ejecutarOperacion(operacion, autoIngresado, baseDatos);
}
}
private static void ejecutarOperacion
(String op, Automovil auto, BDAutomovil bd
) { boolean existe = bd.verificarExistencia(auto.getCodigo());
if (op.equalsIgnoreCase("Agregar") && !existe) {
bd.agregar(auto);
bd.imprimirInventario();
}
else if (op.equalsIgnoreCase("Actualizar") && existe) {
bd.actualizar(auto);
bd.imprimirInventario();
}
else {
}
}
}
class Automovil {
private int codigo;
private int kilometraje;
public Automovil
(int codigo,
String marca,
String placa,
String modelo,
int kilometraje
) { this.codigo = codigo;
this.marca = marca;
this.placa = placa;
this.modelo = modelo;
this.kilometraje = kilometraje;
}
public int getCodigo() { return codigo; }
public String getMarca
() { return marca
; } public String getPlaca
() { return placa
; } public String getModelo
() { return modelo
; } public int getKilometraje() { return kilometraje; }
@Override
return codigo + " " + marca + " " + placa + " " + modelo + " " + kilometraje;
}
}
class BDAutomovil {
private Map
<Integer, Automovil
> inventario
= new TreeMap
<>();
public BDAutomovil() {
inventario.put(1, new Automovil(1, "Mazda", "123-abc", "MX-5", 0));
inventario.put(2, new Automovil(2, "vw", "321-cba", "jetta", 23));
}
public boolean verificarExistencia(int codigo) {
return inventario.containsKey(codigo);
}
public void agregar(Automovil auto) {
inventario.put(auto.getCodigo(), auto);
}
public void actualizar(Automovil auto) {
inventario.put(auto.getCodigo(), auto);
}
public void imprimirInventario() {
for (Automovil a : inventario.values()) {
System.
out.
println(a.
toString()); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIEJEQXV0b21vdmlsIGJhc2VEYXRvcyA9IG5ldyBCREF1dG9tb3ZpbCgpOwoKICAgICAgIAogICAgICAgIGlmICghc2MuaGFzTmV4dExpbmUoKSkgcmV0dXJuOwogICAgICAgIFN0cmluZyBvcGVyYWNpb24gPSBzYy5uZXh0TGluZSgpLnRyaW0oKTsKCiAgICAgICAKICAgICAgICBpZiAoIXNjLmhhc05leHRMaW5lKCkpIHJldHVybjsKICAgICAgICBTdHJpbmdbXSBkYXRvcyA9IHNjLm5leHRMaW5lKCkuc3BsaXQoIlxccysiKTsKCiAgICAgICAgCiAgICAgICAgaWYgKGRhdG9zLmxlbmd0aCA8IDUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFUlJPUiIpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBpbnQgY29kaWdvID0gSW50ZWdlci5wYXJzZUludChkYXRvc1swXSk7CiAgICAgICAgICAgIFN0cmluZyBtYXJjYSA9IGRhdG9zWzFdOwogICAgICAgICAgICBTdHJpbmcgcGxhY2EgPSBkYXRvc1syXTsKICAgICAgICAgICAgU3RyaW5nIG1vZGVsbyA9IGRhdG9zWzNdOwogICAgICAgICAgICBpbnQga2lsb21ldHJhamUgPSBJbnRlZ2VyLnBhcnNlSW50KGRhdG9zWzRdKTsKCiAgICAgICAgICAgIEF1dG9tb3ZpbCBhdXRvSW5ncmVzYWRvID0gbmV3IEF1dG9tb3ZpbChjb2RpZ28sIG1hcmNhLCBwbGFjYSwgbW9kZWxvLCBraWxvbWV0cmFqZSk7CgogICAgICAgICAgCiAgICAgICAgICAgIGVqZWN1dGFyT3BlcmFjaW9uKG9wZXJhY2lvbiwgYXV0b0luZ3Jlc2FkbywgYmFzZURhdG9zKTsKCiAgICAgICAgfSBjYXRjaCAoTnVtYmVyRm9ybWF0RXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFUlJPUiIpOyAKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBlamVjdXRhck9wZXJhY2lvbihTdHJpbmcgb3AsIEF1dG9tb3ZpbCBhdXRvLCBCREF1dG9tb3ZpbCBiZCkgewogICAgICAgIGJvb2xlYW4gZXhpc3RlID0gYmQudmVyaWZpY2FyRXhpc3RlbmNpYShhdXRvLmdldENvZGlnbygpKTsKCiAgICAgICAgaWYgKG9wLmVxdWFsc0lnbm9yZUNhc2UoIkFncmVnYXIiKSAmJiAhZXhpc3RlKSB7CiAgICAgICAgICAgIGJkLmFncmVnYXIoYXV0byk7CiAgICAgICAgICAgIGJkLmltcHJpbWlySW52ZW50YXJpbygpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSBpZiAob3AuZXF1YWxzSWdub3JlQ2FzZSgiQWN0dWFsaXphciIpICYmIGV4aXN0ZSkgewogICAgICAgICAgICBiZC5hY3R1YWxpemFyKGF1dG8pOwogICAgICAgICAgICBiZC5pbXByaW1pckludmVudGFyaW8oKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRVJST1IiKTsKICAgICAgICB9CiAgICB9Cn0KCgpjbGFzcyBBdXRvbW92aWwgewogICAgcHJpdmF0ZSBpbnQgY29kaWdvOwogICAgcHJpdmF0ZSBTdHJpbmcgbWFyY2E7CiAgICBwcml2YXRlIFN0cmluZyBwbGFjYTsKICAgIHByaXZhdGUgU3RyaW5nIG1vZGVsbzsKICAgIHByaXZhdGUgaW50IGtpbG9tZXRyYWplOwoKICAgIHB1YmxpYyBBdXRvbW92aWwoaW50IGNvZGlnbywgU3RyaW5nIG1hcmNhLCBTdHJpbmcgcGxhY2EsIFN0cmluZyBtb2RlbG8sIGludCBraWxvbWV0cmFqZSkgewogICAgICAgIHRoaXMuY29kaWdvID0gY29kaWdvOwogICAgICAgIHRoaXMubWFyY2EgPSBtYXJjYTsKICAgICAgICB0aGlzLnBsYWNhID0gcGxhY2E7CiAgICAgICAgdGhpcy5tb2RlbG8gPSBtb2RlbG87CiAgICAgICAgdGhpcy5raWxvbWV0cmFqZSA9IGtpbG9tZXRyYWplOwogICAgfQoKCiAgICBwdWJsaWMgaW50IGdldENvZGlnbygpIHsgcmV0dXJuIGNvZGlnbzsgfQogICAgcHVibGljIFN0cmluZyBnZXRNYXJjYSgpIHsgcmV0dXJuIG1hcmNhOyB9CiAgICBwdWJsaWMgU3RyaW5nIGdldFBsYWNhKCkgeyByZXR1cm4gcGxhY2E7IH0KICAgIHB1YmxpYyBTdHJpbmcgZ2V0TW9kZWxvKCkgeyByZXR1cm4gbW9kZWxvOyB9CiAgICBwdWJsaWMgaW50IGdldEtpbG9tZXRyYWplKCkgeyByZXR1cm4ga2lsb21ldHJhamU7IH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CiAgICAgICAgcmV0dXJuIGNvZGlnbyArICIgIiArIG1hcmNhICsgIiAiICsgcGxhY2EgKyAiICIgKyBtb2RlbG8gKyAiICIgKyBraWxvbWV0cmFqZTsKICAgIH0KfQoKCmNsYXNzIEJEQXV0b21vdmlsIHsKICAgIAogICAgcHJpdmF0ZSBNYXA8SW50ZWdlciwgQXV0b21vdmlsPiBpbnZlbnRhcmlvID0gbmV3IFRyZWVNYXA8PigpOwoKICAgIHB1YmxpYyBCREF1dG9tb3ZpbCgpIHsKICAgICAgIAogICAgICAgIGludmVudGFyaW8ucHV0KDEsIG5ldyBBdXRvbW92aWwoMSwgIk1hemRhIiwgIjEyMy1hYmMiLCAiTVgtNSIsIDApKTsKICAgICAgICBpbnZlbnRhcmlvLnB1dCgyLCBuZXcgQXV0b21vdmlsKDIsICJ2dyIsICIzMjEtY2JhIiwgImpldHRhIiwgMjMpKTsKICAgIH0KCiAgICBwdWJsaWMgYm9vbGVhbiB2ZXJpZmljYXJFeGlzdGVuY2lhKGludCBjb2RpZ28pIHsKICAgICAgICByZXR1cm4gaW52ZW50YXJpby5jb250YWluc0tleShjb2RpZ28pOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIGFncmVnYXIoQXV0b21vdmlsIGF1dG8pIHsKICAgICAgICBpbnZlbnRhcmlvLnB1dChhdXRvLmdldENvZGlnbygpLCBhdXRvKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBhY3R1YWxpemFyKEF1dG9tb3ZpbCBhdXRvKSB7CiAgICAgICAgaW52ZW50YXJpby5wdXQoYXV0by5nZXRDb2RpZ28oKSwgYXV0byk7IAogICAgfQoKICAgIHB1YmxpYyB2b2lkIGltcHJpbWlySW52ZW50YXJpbygpIHsKICAgICAgICBmb3IgKEF1dG9tb3ZpbCBhIDogaW52ZW50YXJpby52YWx1ZXMoKSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYS50b1N0cmluZygpKTsKICAgICAgICB9CiAgICB9Cn0=