# [CHG::OJ] Free Fire Contest 2023 - 01
:::info
:bulb: Educational contest written by sweetestlove
:timer_clock: Thời gian làm bài: 180 phút
:::
## Bài 1: Valentine
:::warning
Giới hạn thời gian: 2 giây / Giới hạn bộ nhớ: 256 MB
:::
Nhân ngày valentine, [sweetestlove](http://chuyenhagiang.ntucoder.net/Coder/Details/sweetestlove) dự định tặng crush một dãy số nguyên, dãy số ấy phải thỏa mãn điều kiện sau:
* Các số trong dãy $A$ nằm trong khoảng từ từ $X$ đến $Y$ $(X≤A_i≤Y)$.
* Với mỗi $1≤i≤∣A∣−1$, $A_{i+1}$ là bội của $A_i$ và lớn hơn $A_i$.
Tìm độ dài lớn nhất dãy có thể đạt được.
### Đầu vào:
$2$ số nguyên $X, Y$ $(1≤X≤Y≤10^{18})$
### Đầu ra:
Độ dài lớn nhất dãy có thể đạt được.
### Ví dụ:
$Input$ $1$:
```
3 20
```
$Output$ $1$:
`
3
`
> *Dãy số 3,6,18 thỏa mãn yêu cầu đề bài*
$Input$ $2$:
```
25 100
```
$Output$ $2$:
`
3
`
$Input$ $3$:
```
314159265 358979323846264338
```
$Output$ $3$:
`
31
`
---
## Bài 2: Tình yêu đôi lứa
:::warning
Giới hạn thời gian: 2 giây / Giới hạn bộ nhớ: 1024 MB
:::
**[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** có tình cảm với **[pmhuong](http://chuyenhagiang.ntucoder.net/Coder/Details/pmhuong)** mà không dám nói. Giờ **[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** muốn tỏ tình nên cậu ta đã viết một số ở trên hàng rào đối diện với nhà **[pmhuong](http://chuyenhagiang.ntucoder.net/Coder/Details/pmhuong)**. Cậu ấy cho rằng viết lên hàng rào số càng lớn thì càng dễ có được trái tim của nàng.
Không may thay, **[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** chỉ có $v$ lít sơn. Cậu tính được rằng chữ số $d$ tốn $a_d$ lít sơn. Bên cạnh đó, **[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** còn biết là **[pmhuong](http://chuyenhagiang.ntucoder.net/Coder/Details/pmhuong)** rất ghét con số 0 nên cậu ấy sẽ không sử dụng chúng.
Giúp **[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** tìm số lượng số nhiều nhất có thể viết được trên hàng rào.
### Đầu vào:
Dòng đầu tiên chứa số nguyên $v$ $(0 ≤ v ≤ 10^6)$.
Dòng thứ hai chứa 9 số nguyên dương $a_1, a_2, ..., a_9$ $(1 ≤ a_i ≤ 10^5)$.
### Đầu ra:
In ra kết quả là số chữ số lớn nhất **[vietanh](http://chuyenhagiang.ntucoder.net/Coder/Details/vietanh)** có thể viết lên hàng rào. Nếu không viết được bất kì chữ số nào in ra $-1$.
### Ví dụ:
$Input$ $1$:
```
5
5 4 3 2 1 2 3 4 5
```
$Output$ $1$:
`
55555
`
$Input$ $2$:
```
2
9 11 1 12 5 8 9 10 6
```
$Output$ $2$:
`
33
`
$Input$ $3$:
```
0
1 1 1 1 1 1 1 1 1
```
$Output$ $3$:
`
-1
`
---
## Bài 3: Nối chuỗi
:::warning
Giới hạn thời gian: 3 giây / Giới hạn bộ nhớ: 256 MB
:::
Cho $n$ xâu kí tự $a_1, a_2, ..., a_n$. Yêu cầu nối chúng lại với nhau theo cách nào đó sao cho chuỗi kết quả có thứ tự từ điển nhỏ nhất.
### Đầu vào:
Dòng đầu tiên chứa số nguyên n — số chuỗi $(1 ≤ n ≤ 5·10^4)$.
Mỗi dòng trong số $n$ dòng tiếp theo chứa một xâu $a_i$ $(1 ≤ |a_i| ≤ 50)$ chỉ gồm các chữ cái tiếng Anh viết thường. Tổng độ dài chuỗi sẽ không vượt quá $5·10^4$.
### Đầu ra:
In ra xâu kí tự $a$ - chuỗi kết quả đã được nối.
### Ví dụ:
$Input$ $1$:
```
4
abba
abacaba
bcd
er
```
$Output$ $1$:
`
abacabaabbabcder
`
$Input$ $2$:
```
3
c
cb
cba
```
$Output$ $2$:
`
cbacbc
`
---