#include <stdio.h>
#include <string.h>

int main(void) {
    // 小数点以下200桁の円周率（文字列として定義。自動的に連結されます）
    const char *pi_digits = 
        "14159265358979323846264338327950288419716939937510"
        "58209749445923078164062862089986280348253421170679"
        "82148086513282306647093844609550582231725359408128"
        "48111745028410270193852110555964462294895493038196";

    const char *target = "69399";

    // strstr関数で文字列から "69399" を検索
    char *match = strstr(pi_digits, target);

    if (match != NULL) {
        // ポインタの引き算により、0始まりのインデックスを計算
        int index = match - pi_digits;
        
        // 小数点第1位を「1桁目」とするため、インデックスに+1します
        int digit_position = index + 1;
        
        printf("文字列 '%s' が見つかりました。\n", target);
        printf("小数点以下 %d 桁目から始まります。\n\n", digit_position);
        
        // 周辺の文字列を切り出して確認表示（前後の安全な範囲を指定）
        printf("周辺の数字: ...");
        for (int i = index - 5; i < index; i++) {
            if (i >= 0) putchar(pi_digits[i]);
        }
        printf("【%s】", target);
        for (int i = index + 5; i < index + 10; i++) {
            if (pi_digits[i] != '\0') putchar(pi_digits[i]);
        }
        printf("...\n");
    } else {
        printf("文字列 '%s' は最初の200桁の中に見つかりませんでした。\n", target);
    }

    return 0;
}