{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"Введем несколько определений, которые нам понадобятся ниже.\n\u003cp\u003e\u003c/p\u003e\nПусть prime(x) будет множеством целочисленных простых делителей числа x. Например, prime(140)\u003d{2,5,7}, prime(169)\u003d{13}.\n\u003cp\u003e\u003c/p\u003e\nПусть g(x,p) будет максимальное число вида pk, где k — целое число, такое, что x делится на pk. Например:\n\u003cp\u003e\u003c/p\u003e\n1)g(45,3)\u003d9 (45 делится на 32\u003d9, но не на 33\u003d27),\n\u003cp\u003e\u003c/p\u003e\n2)g(63,7)\u003d7 (63 делится на 71\u003d7, но не на 72\u003d49).\n\u003cp\u003e\u003c/p\u003e\nПусть f(x,y) будет произведением g(y,p) для всех p, которые содержатся в множестве prime(x). Например:\n\u003cp\u003e\u003c/p\u003e\n1)f(30,70)\u003dg(70,2)⋅g(70,3)⋅g(70,5)\u003d21⋅30⋅51\u003d10,\n\u003cp\u003e\u003c/p\u003e\n2)f(525,63)\u003dg(63,3)⋅g(63,5)⋅g(63,7)\u003d32⋅50⋅71\u003d63.\n\u003cp\u003e\u003c/p\u003e\nДаны числа x и n. Найдите f(x,1)⋅f(x,2)⋅…⋅f(x,n) mod (10^9+7)."}},{"title":"Input","value":{"format":"HTML","content":"Первая строка содержит два целых числа x и n (2≤x≤10^9, 1≤n≤10^18) — числа, которые используются в формулах."}},{"title":"Output","value":{"format":"HTML","content":"Выведите ответ."}},{"title":"Examples","value":{"format":"HTML","content":"\u003cdiv class\u003d\"sample-test\"\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e10 2\n\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003e2\n\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e20190929 1605\n\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003e363165664\n\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"input\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e \n \u003cpre\u003e947 987654321987654321\n\u003c/pre\u003e\n \u003c/div\u003e \n \u003cdiv class\u003d\"output\"\u003e \n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e \n \u003cpre\u003e593574252\n\u003c/pre\u003e\n \u003c/div\u003e\n\u003c/div\u003e"}},{"title":"Note","value":{"format":"HTML","content":"В первом примере f(10,1)\u003dg(1,2)⋅g(1,5)\u003d1, f(10,2)\u003dg(2,2)⋅g(2,5)\u003d2.\n\u003cp\u003e\u003c/p\u003e\nВо втором примере само число равно 1.597⋅10^171. Убедитесь вывести ответ по модулю (10^9+7).\n\u003cp\u003e\u003c/p\u003e\nВ третьем примере будьте осторожны с переполнением."}}]}