Geppetto's Pizza

Count the subsets of up to 20 ingredients that contain none of the given incompatible pairs, including the empty pizza.

Medium4Brute forceBit manipulationInterviewNo attempts yetTime limit1sMemory limit64 MB

Problem

Geppetto has opened the best pizza place in town. The ingredients he can put on a pizza are numbered 11 through NN, and he builds each pizza by choosing any set of them.

The trouble is that some ingredients do not mix. There are MM pairs of ingredients that cannot sit on the same pizza. Neither pair may appear together on one pizza.

Count how many different pizzas Geppetto can make. Two pizzas are different if some ingredient ii is on one of them and not on the other. A pizza with no ingredients at all counts as one pizza.

Input

The first line contains two integers NN and MM separated by a space. (1N201 \le N \le 20, 0M4000 \le M \le 400)

Each of the next MM lines contains two different integers aa and bb. (1a,bN1 \le a, b \le N) Ingredient aa and ingredient bb cannot be on the same pizza. The same pair may be given more than once.

Output

Print the number of different pizzas Geppetto can make.