{"code":"correct","name":"Chỉnh lí","description":"Trong đợt hội trại 26/3 vừa qua, Đoàn thanh niên trường THPT chuyên ABC đã tổ chức rất nhiều trò chơi thú vị. Trong đó, có trò chơi chỉnh lí như sau:\r\n\r\nCho mỗi người chơi 1 số $A$ là trạng thái nguy hiểm. Yêu cầu người chơi phải tìm cách thoát khỏi trạng thái nguy hiểm này bằng cách chuyển giá trị số ban đầu thành $B$ là trạng thái an toàn. Có 2 phương án chuyển: nâng $A$ lên $1$ giá trị hoặc nâng $A$ lên $2$ giá trị. Trong quá trình nâng, phải tránh việc giá trị sau khi nâng là bội số của $C$ là trạng thái có khả năng cao rơi vào nguy hiểm. \r\n\r\nNgười chơi thắng cuộc là người chơi có số lần nâng tối thiểu để từ giá trị $A$ có được giá trị $B$ trong thời gian quy định. Người chơi cảm thấy khó khăn khi gặp các giá trị $A, B$ quá lớn, họ không thể thử tất cả các trường hợp. \r\n\r\n**Yêu cầu:** Các bạn học sinh giỏi tin hãy tìm cách tính số lần nâng ít nhất.\r\n\r\n#### Input\r\n- Gồm một dòng chứa 3 số nguyên $a, b, c$ ($1 \\leq A < B \\leq 10^9,  2 \\leq C \\leq 10^9$, $A$ và $B$ không phải là bội của $C$). \r\n  \r\n#### Output \r\n- Ghi một số nguyên là số lần nâng ít nhất. \r\n\r\n#### Scoring \r\n- Subtask $1$ ($30\\%$ số điểm): $A, B, C \\leq 10^3$.\r\n- Subtask $2$ ($30\\%$ số điểm): $A, B, C \\leq 10^6$.\r\n- Subtask $3$ ($40\\%$ số điểm): $A, B, C \\leq 10^9$.\r\n\r\n\r\n## Example\r\n\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        4 10 3 \r\n        ```\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        4\r\n        ```","points":500.0,"partial":true,"time_limit":1.0,"memory_limit":1048000,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}