A+B 问题

**A+B 问题**（A+B Problem）是一个在OJ上经典的试机题，由于其实现简单的特性，所以很多 OJ 经常将他当作试机题。

限制
--

算法竞赛中要求的输出格式中，不能有多余的内容，这也包括了“请输入整数 a 和 b” 这一类的提示用户输入信息的内容。若包含了这些内容，将会被认为是 `Wrong Answer`，即OJ上的 `WA`。在对比代码输出和标准输出时，系统将忽略每一行结尾的空格，以及最后一行之后多余的换行符。

若因此类问题出现本机（看起来）`AC`，提交 `WA` 的现象，请勿认为是评测机出了问题，而是你的代码中可能存在多余的输出信息。用户可以参考在题目末尾提供的代码。

### 题目描述

输入两个整数

a
,
b
(

a

,

b

≤

10
9

)

，输出它们的和。
**注意！**

1. Pascal 使用 `integer` 会爆掉哦！
2. 数据存在负数。
3. C/C++ 的 main 函数必须是 `int` 类型，而且 C 最后要 `return 0`。这不仅对OJ其他题目有效，而且也是 NOIP/CSP/NOI OI 比赛的要求！

好吧，同志们，我们就从这一题开始，向着大牛的路进发。

> 任何一个伟大的思想，都有一个微不足道的开始。
>
>

### 输入输出样例

#### 输入 #1

```
20 30

```

#### 输出 #1

```
50

```

选自洛谷并进行改编。

## 实现方式

本题各种语言的程序范例：
C

```
<#include <stdio.h>

int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n", a+b);
    return 0;
}

```

C++

```
<#include <iostream>

using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b << endl;
    return 0;
}

```

Pascal

```
<var a, b: longint;
begin
    readln(a,b);
    writeln(a+b);
end.

```

Python2

```
<s = raw_input().split()
print int(s[0]) + int(s[1])

```

Python3

```
<s = input().split()
print(int(s[0]) + int(s[1]))

```

Java

```
<import java.io.*;
import java.util.*;
public class Main {
    public static void main(String args[]) throws Exception {
        Scanner cin=new Scanner(System.in);
        int a = cin.nextInt(), b = cin.nextInt();
        System.out.println(a+b);
    }
}

```

JavaScript （Node.js）

```
<const fs = require('fs')
const data = fs.readFileSync('/dev/stdin')
const result = data.toString('ascii').trim().split(' ').map(x => parseInt(x)).reduce((a, b) => a + b, 0)
console.log(result)
process.exit() // 请注意必须在出口点处加入此行

```

Ruby

```
<a, b = gets.split.map(&:to_i)
print a+b

```

PHP

```
<<?php
$input = trim(file_get_contents("php://stdin"));
list($a, $b) = explode(' ', $input);
echo $a + $b;

```

Rust

```
<use std::io;

fn main(){
    let mut input=String::new();
    io::stdin().read_line(&mut input).unwrap();
    let mut s=input.trim().split(' ');

    let a:i32=s.next().unwrap()
               .parse().unwrap();
    let b:i32=s.next().unwrap()
               .parse().unwrap();
    println!("{}",a+b);
}

```

Go

```
<package main

import "fmt"

func main() {
    var a, b int
    fmt.Scanf("%d%d", &a, &b)
    fmt.Println(a+b)
}

```

C# Mono

```
<using System;

public class APlusB{
    private static void Main(){
        string[] input = Console.ReadLine().Split(' ');
        Console.WriteLine(int.Parse(input[0]) + int.Parse(input[1]));
    }
}

```

Visual Basic Mono

```
<Imports System

Module APlusB
    Sub Main()
        Dim ins As String() = Console.ReadLine().Split(New Char(){" "c})
        Console.WriteLine(Int(ins(0))+Int(ins(1)))
    End Sub
End Module

```

Kotlin

```
<fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    println(a + b)
}

```

Haskell

```
<main = do
    [a, b] <- (map read . words) `fmap` getLine
    print (a+b)

```

Scala

```
<object Main extends App {
    println(scala.io.StdIn.readLine().split(" ").map(_.toInt).sum)
}

```

Perl

```
<my $in = <STDIN>;
chomp $in;
$in = [split /[\s,]+/, $in];
my $c = $in->[0] + $in->[1];
print "$c\n";

```