{"problem":{"name":"B1. Rasta-making","description":{"content":"Sequence  of positive integers is given to you. A sequence of positive integers is called Rasta - made if and only if every two consecutive elements from this sequence are coprimes to each other.  A ","description_type":"Markdown"},"platform":"Codeforces","limit":{"time_limit":15000,"memory_limit":1048576},"difficulty":"None","is_remote":true,"is_sync":true,"sync_url":null,"sign":"CF10070B1"},"statements":[{"statement_type":"Markdown","content":"Sequence  of positive integers is given to you. A sequence of positive integers is called Rasta - made if and only if every two consecutive elements from this sequence are coprimes to each other. \n\nA Rasta - making operation on a sequence consists of choosing two non-coprime consecutive elements from it and divide them both by one of their common prime factors. For example, we can turn the seqeunce  to  with performing one operation.\n\nPhoulady number of a sequence is the minimum number of Rasta - making operations needed for turning it into a Rasta - made sequence.\n\nConstruction number of a a sequence is the number of different sequences we can get by performing 0 or more Rasta - making operations.\n\nWe show Phoulady number by F and Construction number by S.\n\nIn all subtasks:\n\nSubtasks:\n\nEach subtask consists of one testcase.\n\nInput consists of two integers, n and M.\n\nPrint the answer modulo 109 + 7 in a single line.\n\n## Input\n\nEach subtask consists of one testcase.Input consists of two integers, n and M.\n\n## Output\n\nPrint the answer modulo 109 + 7 in a single line.\n\n[samples]","is_translate":false,"language":"English"},{"statement_type":"Markdown","content":"**Definitions**  \nLet $ n, M \\in \\mathbb{Z}^+ $.  \nLet $ \\mathcal{A} = \\{ (a_1, a_2, \\dots, a_n) \\mid a_i \\in \\{1, 2, \\dots, M\\} \\} $ be the set of all sequences of length $ n $ with elements in $ [1, M] $.  \n\nFor a sequence $ A = (a_1, \\dots, a_n) \\in \\mathcal{A} $:  \n- $ A $ is **#cf_span[Rasta-made]** if $ \\gcd(a_i, a_{i+1}) = 1 $ for all $ i \\in \\{1, \\dots, n-1\\} $.  \n- A **#cf_span[Rasta-making] operation** on $ A $: choose $ i \\in \\{1, \\dots, n-1\\} $ such that $ \\gcd(a_i, a_{i+1}) > 1 $, select a prime $ p \\mid \\gcd(a_i, a_{i+1}) $, and replace $ a_i \\leftarrow a_i / p $, $ a_{i+1} \\leftarrow a_{i+1} / p $.  \n\nLet $ F(A) $ be the minimum number of #cf_span[Rasta-making] operations to transform $ A $ into a #cf_span[Rasta-made] sequence.  \nLet $ S(A) $ be the number of distinct sequences obtainable from $ A $ via zero or more #cf_span[Rasta-making] operations.  \n\n**Objective**  \nCompute:  \n$$\n\\sum_{A \\in \\mathcal{A}} F(A) \\cdot S(A) \\mod (10^9 + 7)\n$$","is_translate":false,"language":"Formal"}],"meta":{"iden":"CF10070B1","tags":[],"sample_group":[],"created_at":"2026-03-03 11:00:39"}}