CF476D Dreamoon and Sets

Description

Dreamoon likes to play with sets, integers and ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF476D/9ecd8274ff74f04a3c110790f7ff835d44a6c25f.png). ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF476D/8ea8f21b5c14716258752d62a549551fbdbf04b7.png) is defined as the largest positive integer that divides both $ a $ and $ b $ . Let $ S $ be a set of exactly four distinct integers greater than $ 0 $ . Define $ S $ to be of rank $ k $ if and only if for all pairs of distinct elements $ s_{i} $ , $ s_{j} $ from $ S $ , ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF476D/dd0b12b681c32c8696e149f43e49ae7211e0b09c.png). Given $ k $ and $ n $ , Dreamoon wants to make up $ n $ sets of rank $ k $ using integers from $ 1 $ to $ m $ such that no integer is used in two different sets (of course you can leave some integers without use). Calculate the minimum $ m $ that makes it possible and print one possible solution.

Input Format

The single line of the input contains two space separated integers $ n $ , $ k $ ( $ 1

Output Format

On the first line print a single integer — the minimal possible $ m $ . On each of the next $ n $ lines print four space separated integers representing the $ i $ -th set. Neither the order of the sets nor the order of integers within a set is important. If there are multiple possible solutions with minimal $ m $ , print any one of them.

Explanation/Hint

For the first example it's easy to see that set $ {1,2,3,4} $ isn't a valid set of rank 1 since ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF476D/b50d3b1ab922da09703e2c03eee592786ae2b8c7.png).