Go: package main

import (
	"fmt"
	"strings"
	"bufio"
	"os"
	// "reflect"
	"strconv"
)

func oneLineInt(s string) []int {
	temp := strings.Split(s, " ")
	// fmt.Println(len(temp))
	ints := []int{}
	for _, elem := range(temp) {
		int_elem, _ := strconv.Atoi(elem)
		ints = append(ints, int_elem)
	}
	return ints
}

func coinCount(ints []int) int {
	cons := ints[0]
	bonus := ints[1]
	target := ints[2]
	count := 0
	day := 0
	var dc int
	for day_count, _ := range(make([]int, target)) {
		day++
		if day % 7 == 0 {
			count += bonus
		}
		count += cons
		if count >= target {
			dc = day_count + 1
			break
		}
	}
	return dc
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	var txt string
	if scanner.Scan() {
		txt = scanner.Text()
	}
	ints := oneLineInt(txt)
	// fmt.Println(ints[1])
	// fmt.Println(reflect.TypeOf(ints[0]))
	result := coinCount(ints)
	fmt.Println(result)
}

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;
}