AT_fft_c 高速フーリエ変換
Description
[problemUrl]: https://atcoder.jp/contests/atc001/tasks/fft_c
この問題は、講座用問題です。ページ下部に解説が掲載されています。
AtCoder 食堂では、定食のメニューを検討しています。
- 主菜は、価格が $ i $ 円のものが $ A_i $ 種類あります $ (1\ ≦\ i\ ≦\ N) $。
- 副菜は、価格が $ i $ 円のものが $ B_i $ 種類あります $ (1\ ≦\ i\ ≦\ N) $。
定食は、主菜と副菜を 1 種類ずつ選んで構成します。 定食の価格は、選んだ主菜と副菜の価格の和とします。
各 $ k\ (1\ ≦\ k\ ≦\ 2N) $ について、価格が $ k $ 円になる定食の種類の数を計算して下さい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ : $ A_N $ $ B_N $
- $ 1 $ 行目には、整数 $ N\ (1\ ≦\ N\ ≦\ 100,000) $ が書かれている。
- $ 2 $ 行目からの $ N $ 行の $ i $ 行目には、整数 $ A_i,\ B_i\ (0\ ≦\ A_i,\ B_i\ ≦\ 100) $ が書かれている。
Output Format
$ 2N $ 行の出力をせよ。$ k $ 行目に価格が $ k $ 円になる定食の種類数を整数で出力せよ。
Explanation/Hint
### 解説
**[高速フーリエ変換](https://www.slideshare.net/secret/fc5RcW8Wkqciu "高速フーリエ変換")** from **[AtCoder Inc.](http://www.slideshare.net/chokudai)**
### Sample Explanation 1
\- $ 1 $ 円になる組合せは存在しない。 - $ 2 $ 円の組み合わせは、$ 1 $ 円の主菜と副菜が $ 1 $ 種類ずつなので $ 1 $ 通り。 - $ 3 $ 円の組み合わせは、$ 1×2\ +\ 2×1\ =\ 4 $ 通り。