Go: package main

import "fmt"

func main() {
	var A, B, C int
	fmt.Scan(&A, &B, &C)
	weekly := 7*A + B
	weeks := C / weekly
	tmp := C % weekly
	if tmp > 7*A {
		fmt.Println(weeks*7 + 7)
	} else {
		fmt.Println(weeks*7 + (tmp+(A-1))/A)
	}
}

C++: #include<vector>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include <iostream>
#include <algorithm>
#include <map>
#include <cmath>
#include<queue>
#include <sstream>

#define INF 100000000000000
using namespace std;
typedef long long llong;

//int isalpha(char ch): ch がアルファベットなら true を返す
//int isdigit(char ch): ch が数字なら true を返す
//int islower(char ch): ch が小文字なら true を返す
//int isupper(char ch): ch が大文字なら true を返す
//int tolower(char ch): ch の小文字を返す
//int toupper(char ch): ch の大文字を返す

//string型
//size()	文字数を返す
//Insert()	（指定した場所に）文字・文字列を挿入する
//erase()	（指定した場所の）文字・文字列を削除する
//clear()	すべての文字を削除する
//substr()	文字列の（指定した）部分文字列を返す
//replace()	（指定した）部分文字列を新しい文字列に置換する
//c_str()変換
//文字列の比較は、<=や==などを使え
//replace関数を使い、簡単に文字列を置換
//リバース関数：reverse(str.begin(), str.end());
//map<type, type> dict;で宣言
//グラフ理論用変数
//vector<vector<llong> > graph(N);

//ソート
//降順sort(v.begin(), v.end(), std::greater<Type>());

//大文字から小文字へんかん
//w[i] = w[i]-'A'+'a';

//vector
//assignメソッド　引数：サイズ、値
//与えられたサイズと値でvectorを初期化する

//queueクラス
//find()次に取り出す値の表示をする。
//pop()値を取り出す。戻り値はなし
//push()キューに値をプッシュする

//priority_queueクラス

//切り上げ
//ceil
//floor

int main(){
    llong A,B,C;
    cin >> A >> B >> C;
    llong ans=0;
    llong total = 0;
    while(1){
        ans++;
        total = total + A;
        if(ans%7==0){
            total = total + B;
        }
        if(total>=C){
            break;
        }
    }
    cout << ans << endl;
    return 0;
}

C++: #include <iostream>
using namespace std;

int main(void) {
    int A,B,C;cin>>A>>B>>C;
    int cnt = 0;
    int coins = 0;
    while (true) {
        cnt++;
        coins += A;
        if (cnt % 7 == 0) coins += B;
        if (coins >= C) break;
    }
    cout << cnt << endl;
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int i=0; i<(int)(n); i++)
#define all(vec) vec.begin(), vec.end()

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    int ans;
    ans = c/(7*a+b)*7; 
    if ((c%(7*a+b)+a-1)/a >= 7) ans += 7;
    else ans += (c%(7*a+b)+a-1)/a;
    printf("%d\n", ans);
}

C++: #include <iostream>
using namespace std;

int main(void){
    int a,b,c;
    cin>>a>>b>>c;
    int n=c/(a*7+b);
    int rem=c-n*(a*7+b);
    if(rem%a==0)cout<<n*7+rem/a<<endl;
    else cout<<n*7+(rem/a)+1<<endl;
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){

	int A, B, C;
	int have = 0, ans = 0;
	cin >> A >> B >> C;
	for (int i = 1; i <= C; i++){
		have += A;
		if (i % 7 == 0) have += B;
		if (have >= C){
			ans = i;
			break;
		}
	}

	cout << ans << endl;

	return 0;
}

C++: #include <iostream>
using namespace std;

int main(void){
    int a,b,c;
    cin>>a>>b>>c;
    int n=c/(a*7+b);
    int rem=c-n*7;
    cout<<n*7+(rem-rem%a)/a<<endl;
    return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
    int a,b,c;
    cin >> a >> b >> c;
    int i=0;
    while(c>0){
        i++;
        if(i%7==0){
            c=c-a-b;
        }
        else{
            c=c-a;
        }
    }
    cout << i << endl;
    return 0;
}

C++: #include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <iostream>
#include <map>
#include <queue>
#include <string>
#include <stack>
#include <vector>
using namespace std;
typedef long long ll;
int main(){
  int a,b,c;
  cin >> a >> b >> c;

  int week_num = c/(a*7+b);
  
  int ans = week_num * 7 + (c - week_num * (a * 7 + b) + a - 1)/a;

  int anss = (c+a*7+b-1)/(a*7+b) * 7;
  cout << min(ans,anss) << endl;
}

C++: #include<iostream>
using namespace std;

int main(void){
    int a,b,c,day = 0,sum = 0;

    cin >> a >> b >> c;
    while(sum < c){
        day++;
        sum += a;
        if(day % 7 == 0){
            sum += b;
        }
    }

    cout << day << endl;
}

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<iomanip>
#include<math.h>
#include<complex>
#include<queue>
#include<deque>
#include<stack>
#include<map>
#include<set>
#include<bitset>
#include<functional>
#include<assert.h>
#include<numeric>
#include<stdio.h>
#include <cstdint>
using namespace std;
#define REP(i,m,n) for(int i=(int)(m) ; i < (int) (n) ; ++i )
#define rep(i,n) REP(i,0,n)
using ll = long long;
const int inf = 1e9 + 7;
const ll longinf = 1LL << 60;
const ll mod = 1e9 + 7;

int a, b, c, cnt, tmp;


int main() {

	cin >> a >> b >> c;

	while (c > tmp) {
		cnt++;
		tmp += a;
		if (cnt % 7 == 0)tmp += b;
	}

	cout << cnt << endl;

	return 0;
}

C++: #include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int main() {
	ll a,b,c;
	ll day = 1,coin=0;
	cin >> a >> b >> c;

	while (true) {
	
		if (day % 7 == 0)
			coin += a + b;
		else
			coin += a;

		if (c <= coin)
			break;

		day++;
	}

	cout << day << endl;
		
}

C++: #include <iostream>
using namespace std;
int main(void){
    int x, y, z, w, u;
    w = 0,u = 0; 
    cin >> x >> y >> z;
    while(true){
        u += 1;
        w += x;
        if(u%7 == 0){
           w += y;
        }
        if (w >= z){
           break;
        }
    }
    cout << u <<endl;
}

C++: #include <iostream>

int main() {
  long coins_per_day, coins_per_week, goal;
  std::cin >> coins_per_day >> coins_per_week >> goal;

  long n_days = 0;
  while (n_days * coins_per_day + n_days / 7 * coins_per_week < goal) {
    ++n_days;
  }

  std::cout << n_days << '\n';
}

C++: #include<bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i=0; i<n; i++)
#define rrep(i, n) for(int i=n-1; i>=0; i--)
#define FOR(i, a, b) for(int i=a; i<b; i++)
#define ALL(v) v.begin(),v.end()
#define pb push_back
#define eb emplace_back
#define mp make_pair
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<int, ll> pil;
typedef pair<ll, int> pli;
typedef pair<ll, ll> pll;
const int INF = 1e9;
const ll LLINF = 1e18;
const ll MOD = 1e9+7;
const double EPS = 1e-10;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

const ll MAX = 1000010;
ll maisu[MAX];

int main() {
    int a, b, c;
    cin >> a >> b >> c;

    for (int i = 1; i < MAX; i++) {
        maisu[i] = maisu[i-1] + a;
        if (i % 7 == 0) maisu[i] += b;
    }
    rep(i, MAX) {
        if (maisu[i] >= c) {
            cout << i << endl;
            return 0;
        }
    }
}

C++: #include<iostream>

using namespace std;
int main(){
        long long a, b, c,w,d,da;
        cin >> a >> b >> c;
        w = c / (a*7+b);
        d = c % (a*7+b);
        da = d % a;
        d = d / a;
        if (da != 0) d++;
        if (d > 7) d = 7;
        cout << (w*7 + d) << endl;
        return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
#include<iomanip>
#include<stack>
#include<queue>
#include<string>
#include<set>
#include<map>
#include<cmath>
#include<cstring>
using namespace std;
#define rep(i,n) for(int i=0;(i)<(n);(i)++)
#define FOR(i,m,n) for(int i=(m);(i)<(n);(i)++)
typedef long long ll;

int main(){
    int A,B,C;
    cin >> A >> B >> C;
    int i=0;
    int coin = 0;
    while(coin<C){
        ++i;
        if(i%7==0)coin+=B;
        coin+=A;
    }
    cout << i << endl;
    return 0;
}

C++: // Undone
#include <bits/stdc++.h>
#define int long long
#define double long double
#define INF 1e18
#define MOD 1000000007
using namespace std;
signed main() {
  int A, B, C;
  cin >> A >> B >> C;
  int ans = 0;
  while (C > 0) {
    ans++;
    C -= A;
    if (ans % 7 == 0) {
      C -= B;
    }
  }
  cout << ans << endl;
}