Tiền ảo

Xem PDF

Điểm: 1 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Sau khi đầu tư NFT thất bại, malego290704 đã hạ quyết tâm phục thù để làm giàu trở lại cũng trên nền tảng các blockchain. Nhưng rút kinh nghiệm từ lần trước, lần này anh quyết định tự tạo ra blockchain của riêng mình để dễ dàng lừa đảo người khác hơn. Khổ nỗi, một thằng lập trình viên quèn như anh lấy đâu ra năng lực để tạo ra một đồng coin mới. Chính vì vậy, anh chỉ có thể làm một trình giả lập blockchain, vì dù sao thì những con gà bị lùa cũng không hiểu biết lắm.

Với nỗ lực marketing hết sức mình, quảng cáo phủ sóng rộng rãi, thuê vô số KOL đăng bài dụ dỗ, rất nhiều con gà đã rơi vào tròng. Họ sử dụng nền tảng blockchain của malego290704 để giao dịch tiền ảo với nhiều mục đích khác nhau. Thế nhưng khác với blockchain thông thường là một hệ thống DLT - Distributed Ledger Technology có đặc điểm nổi bật nhất là tính phi tập trung (decentralized), thì “blockchain” của malego290704 lại là một bảng dữ liệu được host trên GitHub cá nhân, với các khối mang ID ngẫu nhiên được xâu chuỗi.

Tiếc thay, một người hâm mộ của malego290704 đã phát hiện ra những điểm bất thường này, và yêu cầu anh phải sao kê đầy đủ xem người dùng bây giờ đang có bao nhiêu tiền ảo trên nền tảng. Vốn chỉ là một bảng dữ liệu vô nghĩa, anh không biết phải làm sao để xử lí lượng dữ liệu khổng lồ này. Là những lập trình viên tài năng, hãy giúp đỡ malego290704 tính toán xem mỗi người có bao nhiêu tiền nhé!

Ở một ô có ID \(N\) nằm tại https://malego290704.github.io/apis/aprilfools2022crypto/{ID}.txt có các thông tin lần lượt là: ID của ô phía trước \(N_{pre}\), tên người chuyển tiền \(TX_{sender}\), tên người nhận tiền \(TX_{receive}\), số tiền được chuyển \(TX_{amount}\).

Thứ tự của các ô phụ thuộc vào ID của các ô được liên kết, với ô có ID \(N_X\) sẽ đứng liền trước ô có \(N_{pre} = N_X\). Ô đầu tiên của chuỗi là ô có \(N_{pre}\)\(0\). Với các ô còn lại, ID là một số nguyên không âm có 4 chữ số (tính cả những chữ số 0 ở đầu). Ô cuối cùng của chuỗi là ô không có ô nào khác đứng sau.

Ví dụ:

Ô có ID \(0001\) nằm tại https://malego290704.github.io/apis/aprilfools2022crypto/0001.txt có dữ liệu là:
0567 KSUMNOLE BeTapDi 125639

Vậy trong chuỗi, ô \(0001\) đứng liền sau ô \(0567\), có nội dung là KSUMNOLE chuyển cho BeTapDi \(125639\) đồng.

Ô có ID \(0002\) nằm tại https://malego290704.github.io/apis/aprilfools2022crypto/0002.txt có dữ liệu là:
0112 BeTapDi CarlavierVN 377946

Vậy trong chuỗi, ô \(0002\) đứng liền sau ô \(0112\), có nội dung là BeTapDi chuyển cho CarlavierVN \(377946\) đồng.

\(TX_{sender}\)\(TX_{receive}\) là xâu kí tự chỉ gồm các kí tự chữ a..z, A..Z và chữ số 0..9 với độ dài nhỏ hơn hoặc bằng \(10^2\).

\(TX_{amount}\) là một số nguyên dương có giá trị nhỏ hơn hoặc bằng \(10^{12}\).

Tài khoản có tên người gửi là admin là tài khoản tiền của cả hệ thống, tức là có vô hạn tiền để gửi cho mọi người.

Ví dụ:

Với chuỗi gồm các khối sau đây:

Khối có ID \(7197\) có nội dung là: 0 admin malego290704 1000000

Khối có ID \(4277\) có nội dung là: 7197 malego290704 zipdang2004 100000

Khối có ID \(8689\) có nội dung là: 4277 malego290704 CarlavierVN 100000

Khối có ID \(9523\) có nội dung là: 8689 zipdang2004 CarlavierVN 50000

Chuỗi kết thúc ở ô có ID \(9523\). Tại thời điểm này, malego290704\(800000\), zipdang2004\(50000\)CarlavierVN\(150000\).

Input

  • Một dòng duy nhất gồm tên người dùng

Output

  • Một dòng duy nhất in ra số tiền người dùng đó có

Example

Test 1

Input
-
Output
-

Test 2

Input
malego290704
Output
800000

Test 3

Input
Carlavier_VN
Output
150000

Bình luận