Візерунки
Маленький Сергій дуже любить грати в ігри. Сьогодні він вигадав нову гру для себе. У нього є n^2
кубиків. Кожна грань кожного кубика пофарбована в один із шести кольорів. Різні грані одного куба можуть бути пофарбовані однаковими кольорами. У нього також є дошка розміром n × n. На кожній клітинці дошки має знаходитися точно один кубик. Для кожного кубика Сергій обирає його положення на дошці та його грань зверху. Таким чином він отримає візерунок n × n, утворений кольорами верхніх граней кубиків.
Погравши трохи, Сергій захотів з'ясувати, скільки різних кольорових візерунків можна отримати цими кубиками. Два візерунки вважаються різними, якщо в них існує хоча б одна клітинка, що має різні кольори. Візерунок не можна обертати або віддзеркалювати. Сергій - маленький хлопчик, у нього обмежені знання про великі числа, тому він хоче знайти відповідь за модулем 10^9
+ 7.
Вхідні дані
Перший рядок містить розмір n (1 ≤ n ≤ 5) дошки. Наступні n^2
рядків містять опис кубиків. Кожен кубик задається рядком довжини 6. Вона складається з наступних літер: "R" червоний, "G" зелений, "B" синій, "Y" жовтий, "C" блакитний і "M" пурпурний. Порядок, у якому задані кольори граней, не важливий.
Вихідні дані
Виведіть одне число: відповідь на задачу за модулем 10^9
+ 7.