#include <iostream>
#include <stdexcept>
using namespace std;

int add(int v1, int v2)
{
    if (v1 < 0 || v2 < 0) throw invalid_argument("負の数は入力できません");
    if (v1 + v2 > 100) throw out_of_range("合計が100を超えています");
    return v1 + v2;
}

int main()
{
    int sp, ip;
    cout << "100ポイントを腕力と知力に割り振ります" << endl;
    cout << "腕力に充てるポイントは？";
    cin >> sp;
    cout << "知力に充てるポイントは？";
    cin >> ip;
    try
    {
        int a = add(sp, ip);
        cout << a << "ポイント消費しました" << endl;
    }
    catch (const invalid_argument& e)
    {
        cerr << "エラー1 " << e.what() << endl;
    }
    catch (const out_of_range& e)
    {
        cerr << "エラー2 " << e.what() << endl;
    }
}
