Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextInt() (int, error) {
	return strconv.Atoi(nextString())
}

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func printArr(arr []string) {
	fmt.Println(strings.TrimRight(fmt.Sprintf("%+v", arr)[1:], "]"))
}

func main() {
	scanner.Split(bufio.ScanWords)

	coinDaily, _ := nextInt()
	coinWeekly, _ := nextInt()
	coinTarget, _ := nextInt()

	coinCurrent := 0
	i := 0
	for i = 0; i <= 1000000; i++ {
		coinCurrent += coinDaily
		if (i+1)%7 == 0 {
			coinCurrent += coinWeekly
		}
		if coinCurrent >= coinTarget {
			break
		}
	}
	fmt.Println(i + 1)
}

C++: #include <iostream>

using namespace std;

int main(){

  int a, b, c;
  cin >> a >> b >> c;

  int day = 0;
  int coin = 0;

  while(coin < c){
    day++;
    if(day % 7 == 0){
      coin += b;
    }
    coin += a;
  }
  cout << day << '\n';

  

  return 0;
}

C++: #include<iostream>

using namespace std;

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

	int coin = 0, count = 0;
	while(true){
		count++;
		coin += (count%7!=0) ? a : a + b;
		if(coin>=c) break;
	}
	
	cout << count << endl;

	return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    
    int a,b,c,d,e;
    d = 0;
    e = 0;
    cin >>a>>b>>c;
    
    while(1){
        if(d >= c){
            break;
        }
        d = a+d;
        e = e+1;
        if(e%7 == 0){
            d = d+b;
        }
        
        
    }
    cout <<e<<endl;
}

C++: #include <bits/stdc++.h>

using namespace std;

int main() {
  int a,b,c; cin >> a >> b >>c;
  long long cnt=0,ans=0;
  while(cnt<c){
    ans++;
    cnt+=a;
    if(ans%7==0) cnt+=b;
  }
  cout << ans << endl;

  return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
  int a,b,c;cin>>a>>b>>c;
  int coin=0,cnt=1;
  while(1){
    coin += a;
    if(cnt%7==0) coin += b;
    if(coin>=c) break;
    cnt++;
  }
  cout<<cnt<<endl;
}

C++: #include <iostream>
using namespace std;
int main(){
    int a,b,c;
    int ans=0;
    int sum=0;
    cin>>a>>b>>c;
    while(sum<c){
        ans+=1;
        sum+=a;
        if(ans%7==0){
            sum+=b;
        }
    }
    cout<<ans<<endl;
}

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

int main() {

int A , B , C = 0 ;
int days = 0 ; 
int week_day_count = 0 ; // 週の何日目かのカウント。月曜日:1 , 火曜日:2 , …　土曜日:6 , 日曜日:7

cin >> A >> B >> C ;

	while( C > 0 ){
	
	days = days + 1 ;			// 「経過日数」を1追加
	week_day_count = week_day_count + 1 ;	// 週の何日目かのカウントを1追加

	C = C - A ;				// 毎日のログインボーナスの処理

		if( 7 == week_day_count ) 	//「日曜日になったとき」の処理。if( week_day_count == 7 )としなかったのはミス防止
		{ C = C - B ; 
		  week_day_count = 0 ;		// 週の何日目かのカウントを1（月曜日）にする。
		}else{				// C++ではelse{}は省略可
		}

		if( C <= 0 ) 	// Cが0未満になったときループを抜ける
		{
		break;
		}else{				// C++ではelse{}は省略可
		}


	}

cout << days << endl;

}

C++: #include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main(){
	int A, B, C;
	cin >> A >> B >> C;
	int sum = 0;
	int days = 0;
	while(true){
		if(sum + A*7 + B >= C){
			for(int i = 0; i < 7; i++){
				sum += A;
				days++;
				if(i == 6){
					sum += B;
				}
				if(sum >= C){
					break;
				}
			}
		}
		else{
			sum += A*7 + B;
			days += 7;
		}
		if(sum >= C){
			break;
		}
	}
	cout << days << "\n";
}

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

int main(){

int A,B,C,day,sum=0;

cin>>A>>B>>C;

for(int i=1;i<=1000000;i++){
sum=sum+A;
if(i%7==0){
sum=sum+B;
}

if(sum >= C){
day=i;
break;
}
}

cout<<day<<endl;

return 0;
}

C++: #include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
#include <cstdio>
#include <float.h>
#include <ctype.h>
#include <queue>
#include <map>
#include <stack>
#include <limits.h>
#include <cstdlib>
#include <string>
#include <ctime>
#include <cmath>
#include <cstdlib>
#include <cfloat> 
using namespace std;
int main(void) {
	int a, b, c,day=0,i=7,j=0;
	scanf("%d %d %d", &a, &b, &c);
	while (1) {
		if (j >= c)
			break;
		j = j+a;
		day++;
		if (day%7==0) {
			i = i * 2;
			j = j + b;
		}
	}
	printf("%d\n", day);
	return 0;
}

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