Problem:
Score : 100 points

Problem Statement

You are given positive integers A and B.

If A is a divisor of B, print A + B; otherwise, print B - A.

Constraints

All values in input are integers.

1 \leq A \leq B \leq 20

Input

Input is given from Standard Input in the following format:

A B

Output

If A is a divisor of B, print A + B; otherwise, print B - A.

Sample Input 1

4 12

Sample Output 1

16

As 4 is a divisor of 12, 4 + 12 = 16 should be printed.

Sample Input 2

8 20

Sample Output 2

12

Sample Input 3

1 1

Sample Output 3

2

1 is a divisor of 1.

Solution in C# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;
using System.Text;
using System.Linq;
using System.Collections;
using System.Collections.Generic;


namespace AtCoder
{
    public class Program
    {
        public static void Main(string[] args)
        {
            new Program().Anser(new ConsoleInput(Console.In, ' '));
        }

        public void Anser(ConsoleInput Input)
        {
            var inputData = Input.ReadIntArray(2);
            var favoriteData = new List<int>();

            for (int i = 0; i < inputData[0]; i++)
            {
                var favoAns = Input.ReadLine.Split(' ').Select(x => Convert.ToInt32(x)).ToList<int>();
                favoriteData.AddRange(favoAns.GetRange(1, favoAns.Count - 1).Distinct().ToList<int>());
            }

            var anserCount = 0;

            for (int i = 1; i <= inputData[1]; i++)
            {
                var favo = favoriteData.Count(x => x == i);

                if (favo == inputData[0])
                    anserCount++;
            }

            Console.WriteLine(anserCount);
        }
    }

    public class ConsoleInput
    {
        private readonly System.IO.TextReader Stream;
        private char Separator = ' ';
        private Queue<string> InputStream;

        public ConsoleInput(System.IO.TextReader Stream, char Separator = ' ')
        {
            this.Separator = Separator;
            this.Stream = Stream;
            InputStream = new Queue<string>();
        }

        public string Read
        {
            get
            {
                if (InputStream.Count != 0)
                {
                    return InputStream.Dequeue();
                }

                string[] splitStrs = Stream.ReadLine().Split(Separator);

                for (int i = 0; i < splitStrs.Length; ++i)
                {
                    InputStream.Enqueue(splitStrs[i]);
                }

                return InputStream.Dequeue();
            }
        }

        public string ReadLine { get { return Stream.ReadLine(); } }
        public int ReadInt { get { return int.Parse(Read); } }
        public long ReadLong { get { return long.Parse(Read); } }
        public double ReadDouble { get { return double.Parse(Read); } }

        public string[] ReadStrArray(long N)
        {
            var inputStrArray = new string[N];
            for (long i = 0; i < N; ++i)
            {
                inputStrArray[i] = Read;
            }

            return inputStrArray;
        }

        public int[] ReadIntArray(long N)
        {
            var inputIntArray = new int[N];
            for (long i = 0; i < N; ++i)
            {
                inputIntArray[i] = ReadInt;
            }

            return inputIntArray;
        }

        public long[] ReadLongArray(long N)
        {
            var inputLongArray = new long[N];
            for (long i = 0; i < N; ++i)
            {
                inputLongArray[i] = ReadLong;
            }

            return inputLongArray;
        }
    }
}