Laiko ribojimas: 1s

Atminties ribojimas: 16MB

Duomenų failas: kaspinelis.in

Rezultatų failas: kaspinelis.out

Jei norite pateikti savo sprendimą - prisijunkite.

Kaspinėlis

Vika turi kaspinėlį, kurio ilgis yra n. Ji nori kaspinėlį sukarpyti į dalis taip, kad būtų išpildytos šios sąlygos:

  • Po kirpimo kiekvienas gautas gabaliukas turi būti tiksliai a, b arba c ilgio.
  • Gautų kaspinėlio gabaliukų kiekis turi būti maksimalus.

Padėkite Vikai rasti kiek kaspinėlio gabaliukų ji turės, jei jį sukarpys pagal aprašytas taisykles.

Pradiniai duomenys

Pirmoje ir vienintelėje eilutėje pateikti keturi tarpais atskirti sveikieji skaičiai n, a, b ir c (1\\leqn,a,b,c\\leq10^6). Skaičiai a, b ir c nebūtinai yra skirtingi.

Rezultatai

Jūsų programa turi išvesti vieną sveikąjį skaičių - didžiausią galimą kaspinėlio gabaliukų kiekį po kirpimo. Yra garantuota, kad egzistuoja nors vienas būdas tinkamai sukarpyti kaspinėlį.

Pavyzdžiai

Pradiniai duomenys Rezultatai
5 5 3 2
2
7 5 5 2
2

Paaiškinimas

Pirmajame pavyzdyje Vika gali sukarpyti kaspinėlį taip: viena dalis bus 2 vienetų ilgio, o antra - 3 vienetų ilgio.

Antrajame pavyzdyje Vika gali sukarpyti kaspinėlį taip: viena dalis bus 5 vienetų ilgio, o antra - 2 vienetų ilgio.