#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define dbg cout << "dfad\n";
int main() {
    ll H, n; cin >> H >> n;
    ll P[n];
    ll sum = 0, mx_sum = -1e18;
    for (int i = 0; i < n; i++)
    {
        cin >> P[i];
        sum += P[i];
        mx_sum = max(mx_sum, sum);
    }
    if (sum <= 0)
    {
        if (mx_sum < H)
        {
            cout << "-1 -1";
            return 0;
        }
        else
        {
            cout << "0 ";
            ll rem = 0;
            for (int i = 0; i < n; i++)
            {
                rem += P[i];
                if (rem >= H)
                {
                    cout << i;
                    return 0;
                }
            }
        }
    }
    ll l = 0, r = 1e18, mid;
    while (l <= r)
    {
        ll mid = l + r >> 1;
        if (sum * mid + mx_sum < H)
            l = mid + 1;
        else
            r = mid - 1;
    }
    cout << l << ' ';
    ll rem = 0;
    if (sum > 0 && l > 0) H %= sum;
    for (int i = 0; i < n; i++)
    {
        rem += P[i];
        if (rem >= H)
        {
            cout << i;
            return 0;
        }
    }
}
/*
7 4
6 9 -6 -9
1 4
6 9 -6 -9
5 2
6 -5
5 2
6 -7
*/
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |