CF908E New Year and Entity Enumeration

Description

You are given an integer $ m $ . Let $ M=2^{m}-1 $ . You are also given a set of $ n $ integers denoted as the set $ T $ . The integers will be provided in base 2 as $ n $ binary strings of length $ m $ . A set of integers $ S $ is called "good" if the following hold. 1. If ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/f6df5ebda834ed949fa381a9e409eca52df98d93.png), then ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/87045e91f76da277c42585ca135980119c376eba.png). 2. If ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/2de15292493c81bd43bc4eb15984fb272d93fdfe.png), then ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/d1fd2ffa89965283cb46ac14abaadc9521b63955.png) 3. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/cc6c5836ddc61b059206c6b1042aadf7498af2fe.png) 4. All elements of $ S $ are less than or equal to $ M $ . Here, ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/78d6bb10f11032a40beb78ad4b914b08133b1405.png) and ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF908E/cc6f1b073d69f0ba72131b644c8e0f74e29fd9a5.png) refer to the bitwise XOR and bitwise AND operators, respectively. Count the number of good sets $ S $ , modulo $ 10^{9}+7 $ .

Input Format

The first line will contain two integers $ m $ and $ n $ ( $ 1

Output Format

Print a single integer, the number of good sets modulo $ 10^{9}+7 $ .

Explanation/Hint

An example of a valid set $ S $ is {00000, 00101, 00010, 00111, 11000, 11010, 11101, 11111}.