Đồng hồ báo thức


Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Huy đã dành cả ngày để chuẩn bị các vấn đề cho bạn. Bây giờ bạn ấy phải ngủ ít nhất \(a\) phút để cảm thấy tỉnh táo.

Huy chỉ có thể thức dậy bằng cách nghe thấy báo thức của mình. Vì vậy, bạn ấy vừa ngủ thiếp đi và báo thức đầu tiên của bạn ấy kêu vào \(b\) phút nữa.

Mỗi khi Huy thức dậy, bạn ấy quyết định xem mình có muốn ngủ thêm một thời gian nữa hay không. Nếu thời gian bạn ấy đã ngủ ít hơn \(a\) phút, thì sau đó bạn ấy đặt báo thức của mình sẽ kêu trong \(c\) phút nữa. Sau đó giành \(d\) phút để ngủ lại( 1 thời gian để chìm vào giấc ngủ). Nếu không, bạn ấy ra khỏi giường và tiến hành công việc ngày tiếp theo tiếp theo.

Nếu báo thức kêu trong khi Huy đang ngủ, thì bạn ấy sẽ đặt lại báo thức để báo thức trong \(c\) phút nữa và bạn ấy lại chìm vào giấc ngủ trong \(d\) phút

Bạn hãy tính thời gian để Huy sẽ ra khỏi giường của mình.

Input

  • Chứa bốn số nguyên \(a,b,c\) và \(d\) \((1 \le a, b, c,d \le 10^9)\) - thời gian Huy phải ngủ để cảm thấy tỉnh táo, thời gian khi báo thức đầu tiên kêu, thời gian được cài đặt để báo thức kêu sau báo thức lần đầu và thời gian Huy dành để đi vào giấc ngủ.

Output

  • Nếu Huy không bao giờ rời khỏi giường của mình thì hãy in -1. Nếu không, hãy in thời gian để Huy rời khỏi giường của mình.

Example

Input 1

10 3 6 4

Output 1

27

Input 2

5 9 4 10

Output 2

9

Input 3

6 5 2 3

Output 3

-1

Giải thích:

  • Trong testcase đầu tiên, Huy thức dậy sau \(3\) phút. Bạn ấy chỉ nghỉ ngơi 3 phút trong 10 phút bạn ấy cần. Vì vậy, sau đó bạn ấy đặt báo thức của mình để kêu vào 6 phút nữa và giành 4 phút để đi vào giấc ngủ. Vì vậy, anh ấy được ngủ thêm \(6-4=2\) phút, tổng là \(3+2=5\) phút. Sau đó, bạn ấy lặp lại quy trình ba lần nữa và kết thúc với \(11\) phút ngủ. Số phút bạn ấy sẽ rời khỏi giường của mình là \(3 + (4+2) + (4+2) + (4+2) + (4+2) =27\).

Comments

There are no comments at the moment.